#include<stdio.h>
void fun(int a[])
{
int m=sizeof(a)/sizeof(a[0]);
printf("m=%d\n",m);
}
int main()
{
int arr[]={1,2,3,4,5,6};
fun(arr);
int n=sizeof(arr)/sizeof(arr[0]);
printf("n=%d\n",n);
return 0;
}
Output: m=2 n=6
Why is m not also 6? How to find the size of an array passed as a function argument?