求数组的长度——函数调用咋不行哈【小弟我太菜了描述不好<相信你们应该能理解】

求数组的长度——函数调用咋不行哈【我太菜了描述不好<相信你们应该能理解】
#include<stdio.h>

int L(int *t);

int main(void)
{

int l,len;
int a[]={1,2,3,4,5,9};

len=sizeof(a);//sizeof(a[0]);

l=L(a);

printf("%d\n%d\n",l,len);

return 0;
}

int L(int *t)
{

return sizeof(*t);//sizeof(t[0]));

}

------解决思路----------------------
引用:
你讲的 我能理解
但我想知道能否通过函数调用也可以去实现求数组的长度————能不能
谢谢啦

把数组地址传给函数在函数里面是无法计算出数组大小的,因为函数的形参不管定义成数组或者指针,其本质都是指针,所以在函数里面用sizeof计算出来的是指针的大小,而不是数组的大小。