char *ss = "hello";
char sa[6] = "hello ";
char sc[6] = { h , e , l , l , o ,0x0};
printf("mem: %p ",ss);
printf("mem: %p ",sa);
printf("mem: %p ",sc);
printf("size: %d ",sizeof(ss));
printf("size: %d ",sizeof(sa));
printf("size: %d ",sizeof(sc));
printf("size: %x ",sizeof(&ss));
printf("size: %x ",sizeof(&sa));
printf("size: %x ",sizeof(&sc));
printf("ptr: %d ",sizeof(void*));
printf("chr: %d ",sizeof(char));
printf("int: %d ",sizeof(int));
printf("
");
//This will show some of the reason
//that the sizeof operator returns
//unexpected results.
//Note that the sizeof operator
//returns the size in bytes