1
#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?

user3126841
  • 155
  • 2
  • 2
  • 9

0 Answers0