【发布时间】:2014-03-07 10:17:52
【问题描述】:
我将一个数组传递给函数并试图找到数组的长度。但结果出乎意料。谁能解释一下?
int main()
{
int array[10]={0};
func(array);
return 0;
}
void func(int arr[])
{
printf("length of an array is %d ",(sizeof(arr)/sizeof(arr[0]));
}
它给出了答案 2。 当我在 main 函数中尝试相同的操作时,它工作正常(答案是 10)。 //在linux中使用gcc编译器
【问题讨论】:
-
C 中没有通过引用传递。这就是你的答案。
标签: c arrays function pointers