Por que o tamanho da matriz é 1 [duplicado]
Duplicata Possível:
Tamanho de uma matriz na linguagem de programação C?
Estou tentando escrever uma função que retorne 1s se um valor estiver na matriz. Aqui está o código:
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;
}
O problema é quearrayL = sizeof(*iArray) / sizeof(int);
sempre é avaliado como 1, mesmo que a matriz contenha 20 elementos. Por quê?