Por qué el tamaño de la matriz es 1 [duplicado]
Posible duplicado:
¿Tamaño de una matriz en el lenguaje de programación C?
Estoy tratando de escribir una función que devuelve 1s si hay un valor en la matriz. Aquí está el 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;
}
El problema es esearrayL = sizeof(*iArray) / sizeof(int);
siempre se evalúa como 1, incluso si la matriz contiene 20 elementos. ¿Por qué?