重複の可能性:
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;
}
問題は、arrayL = sizeof(*iArray) / sizeof(int);
配列に20個の要素が含まれている場合でも、常に1と評価されることです。なんで?