C Frage zu sizeof-Operator - Merkwürdige Ausgaben...

dragonabllz

Ensign
Registriert
Mai 2011
Beiträge
254
Hallo

ich habe mal aus Spass folgendes probiert:

#include <stdio.h>
#include <stdlib.h>


void checkString(char s[]){
printf("%d",sizeof(s) / sizeof(char));
}

int main() {
char p[]= { "Hallo" };
printf("%d\n", sizeof(p) / sizeof(char));
checkString(p);

return EXIT_SUCCESS;
}

Auf der Konsole kommt:
6
8

Egal wie ich den String verändere (z.b. "abcdefghij"), das Printf in der Main funktioniert richtig, während das printf im "checkString" immer 8 ausgibt. Warum?
 
Zurück
Oben