C-Zeiger und Arrays / 'sizeof'-Operator [duplizieren]

Mögliche Duplikate: Stapelzeigerunterschied für Zeichenzeiger und Array

Um meine Frage zu veranschaulichen:

int main(void){
    int myary[20];
    int *myaryPtr;
    myaryPtr = myary;

    sizeof(myary); // Will it return 80? Correct?
    sizeof(myaryPtr); // Will it return 4? Correct?
    return 0;
}

Ist meine Annahme richtig?

Und wenn dann meine Annahme richtig ist, wie lautet die ausführliche Erklärung? Ich verstehe, dass mein Array mit 20 Elementen 80 Bytes umfasst, aber nicht der Namemyary nur ein Zeiger auf das erste Element des Arrays? Sollte es also nicht auch 4 sein?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage