Dlaczego rozmiar tablicy wynosi 1 [duplikat]

Możliwy duplikat:
Rozmiar tablicy w języku programowania C?

Próbuję napisać funkcję, która zwraca 1s, jeśli wartość jest w tablicy. Oto kod:

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;
}

Problemem jestarrayL = sizeof(*iArray) / sizeof(int); zawsze ma wartość 1, nawet jeśli tablica zawiera 20 elementów. Czemu?

questionAnswers(4)

yourAnswerToTheQuestion