我将相同的字符串值分配给指针和char
数组
char *str = "hello" "world";
char str1[] = "hello" "world";
然后使用sizeof()
函数返回它们的长度
sizeof(str); // on my computer, it's 8 !!
sizeof(str1); // return 11, which is right
但是它们都可以通过以下方式打印出来%s
:
printf("%s\n%s\n", str, str1);
那么为什么会sizeof(str);
返回错误的值呢?