不,字符串字面值的存储位置由编译器自行决定。你在连续的两行中声明了两个字符串字面值是无关紧要的。你不能对编译器将它们存储在哪里做出任何假设。编译器可以进行各种操作。例如,如果你编写以下代码:printf("hello"); printf("hello"); 那么编译器就完全可以只创建一个字面量。或者不这样做。