#include <stdio.h>#include <string.h>int main( void ){ char cstring[] = "Hallo"; char* cpstring = "Hallo"; printf( "%ld %ld\n", sizeof(cstring), strlen(cstring) ); // Wie erwartet. printf( "%ld %ld\n", sizeof(cpstring), strlen(cpstring) ); // Was ist hier anders? /* Ganz einfach: ein Pointer zeigt auf eine Addresse, das passiert mit long. * ** Der Datentyp long hingegen ist nicht 1 Byte, sondern gleich 4 Byte groß. * ** Einfach deswegen, weil der Datentyp mehr 'halten' kann. * ** Genaueres kannst du dir ja auch mittels 'limit.h' anschauen. * ** Müsste aber auch in dem Buch ,,C von A bis Z´´ vorkommen. */ return 0;}