Warum ist die Größe eines Array-Parameters nicht die gleiche wie in main?

Warum ist nicht die Größe eines Arrays gesendet, die als parameter die gleichen wie im main?

#include <stdio.h>

void PrintSize(int p_someArray[10]);

int main () {
    int myArray[10];
    printf("%d\n", sizeof(myArray)); /* As expected, 40 */
    PrintSize(myArray);/* Prints 4, not 40 */
}

void PrintSize(int p_someArray[10]){
    printf("%d\n", sizeof(p_someArray));
}

InformationsquelleAutor der Frage Chris_45 | 2009-12-29

Schreibe einen Kommentar