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

questionAnswers(4)

yourAnswerToTheQuestion