#include <stdio.h>

void func1 (int *arr)
{
    printf("%zu\n", sizeof(arr));
}

void func2 (int arr[100])
{
    printf("%zu\n", sizeof(arr));
}

int main ()
{
    int arr[6];
    func1(arr);
    func2(arr); // this is *not* incorrect, even if func2 has argument arr[100].
    return 0;
}