String
-
Hallo,
also
Wenn ich eine String so schreibe ist sie 11 Byte gross:char test1[]={"Hallo Welt"}; printf("String test1: %d",sizeof(test1)); //11 Byte
Wenn ich sie so schreibe dann 4 Byte:
char *test2 ="Hallo Welt"; printf("String test2: %d",sizeof(test2)); //4 Byte
Wie genau soll ich das verstehn?
Ist das nur der Zeiger der so gross ist, im hintergrund ist sie auch 11 Byte?Grüsse Rihtol
-
das erste ist die grösse des arrays (10 bytes + 0)
das zweite ist die grösse eines char*, unabhängig worauf der zeigt. für die grösse des strings nimmt man dann sowas wie 'strlen()'
-
Ok, jetzt ist alles klar, danke!