我写了一个像这样的array_length函数:
int array_length(int a[]){
return sizeof(a)/sizeof(int);
}
Run Code Online (Sandbox Code Playgroud)
然而,当我这样做时它会返回2
unsigned int len = array_length(arr);
printf ("%i" , len);
Run Code Online (Sandbox Code Playgroud)
我在哪里
int arr[] = {3,4,5,6,1,7,2};
int * parr = arr;
Run Code Online (Sandbox Code Playgroud)
但是当我这么做的时候
int k = sizeof(arr)/sizeof(int);
printf("%i", k);
Run Code Online (Sandbox Code Playgroud)
在main函数中,它返回7.
编写array_length函数的正确方法是什么?如何使用它?