Warum ist die Array-Größe 1 [duplizieren]

Mögliche Duplikate:
Größe eines Arrays in der Programmiersprache C?

Ich versuche, eine Funktion zu schreiben, die 1s zurückgibt, wenn sich ein Wert im Array befindet. Hier ist der Code:

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

Das Problem ist, dassarrayL = sizeof(*iArray) / sizeof(int); Wird immer mit 1 ausgewertet, auch wenn das Array 20 Elemente enthält. Warum?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage