只是想写一个基本sum()功能.
int sum(int arr[]) {
int total = 0 , i = 0 , l = sizeof arr;
for(i=0;i<l;i++) {
total += arr[i];
}
return total;
}
Run Code Online (Sandbox Code Playgroud)
l总是等于4(我知道最终除以sizeof int)
在Windows 7中使用默认编译器选项运行Dev-C++.
Dan*_*her 11
作为函数参数,数组会衰减为指向元素类型的指针,因此sizeof arr也是如此sizeof(elem*).
你必须传递元素的数量作为额外的参数,没有办法确定从指向数组的第一个元素的指针(这是在那种情况下实际传递的).