可能重复:
C 编程语言中数组的大小?
如果值在数组中,我正在尝试编写一个返回 1s 的函数。这是代码:
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;
}
问题是arrayL = sizeof(*iArray) / sizeof(int);
即使数组包含 20 个元素,它也总是计算为 1。为什么?