#include <stdio.h>
main()
{
int n;
int aa[5]={1,2,3,4,5};
void fun(int aa[]);
n=sizeof(aa)/sizeof(aa[0]); /*数组的元素个数*/
printf("in main function:n=%d\n",n);
fun(aa);
getch();
}
void fun(int aa[])
{
int n;
n=sizeof(aa)/sizeof(aa[0]); /*数组的元素个数*/
printf("in fun function:n=%d\n",n);
}
因为以前有用类似的做法做过。
但是今天在函数体中运行,却不行,而在主函数中可以求得数组的长度
为什么?
是不是因为fun函数中,aa仅仅是一个指针,所以sizeof(aa)和sizeof(aa[0])是一样的,都等于2
如果我要在函数fun中计算出aa的长度,该用什么语句?
谢谢!!