可能是重复的问题:
C中结构体数组大小?
作为函数参数传递的数组大小
我只是想写一个基本的sum()
函数。
int sum(int arr[]) {
int total = 0 , i = 0 , l = sizeof arr;
for(i=0;i<l;i++) {
total += arr[i];
}
return total;
}
l
总是等于 4(我知道最终要除以 sizeof int
)
在 Windows 7 中使用默认编译器选项运行 Dev-C++。
arr
是一个指针,而不是一个数组。在函数声明中使用的语法只是int sum(int *arr)
的花哨写法。你可能想阅读 comp.lang.c FAQ 的第6节。 - pmg