相关疑难解决方法(0)

为什么数组大小为1

可能重复:
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个元素.为什么?

c arrays sizeof

1
推荐指数
1
解决办法
232
查看次数

标签 统计

arrays ×1

c ×1

sizeof ×1