可能重复:
C编程语言中数组的大小?
我正在尝试编写一个函数,如果值在数组中,则返回1.这是代码:
int inArrayInt(int iVal, int iArray[])
{
int i;
int arrayL = sizeof(*iArray) / sizeof(int);
int flag = 0;
for(i=0; i < arrayL; i++)
{
if(iVal == iArray[i])
{
flag = 1;
}
}
return flag;
}
Run Code Online (Sandbox Code Playgroud)
问题是arrayL = sizeof(*iArray) / sizeof(int);总是求值为1,即使数组包含20个元素.为什么?