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é?

Respuestas a la pregunta(4)

Su respuesta a la pregunta