可能重复:
函数参数中的数组长度
我正在尝试获取整数数组的长度,但我没有得到正确的答案
void main()
{
int x[]={33,55,77};
printf("%d",getLength(x));//outputs 1
printf("%d",sizeof(x)/sizeof(int));//outputs 3
}
int getLength(int *inp)
{
return sizeof(inp)/sizeof(int);
}
那么为什么 getLength 返回值 1 而不是 3 呢?