Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否保证字符串文字相邻存储在内存中?
因此以下是否一定会得到输出hellohello
hellohello
printf(3 + "%d"); printf("hello");
不,字符串文字存储在编译器喜欢的任何地方。您在连续行中声明其中两个的事实是无关紧要的。您不能对编译器将它们存储在哪里做任何假设。
编译器可以做各种各样的事情。例如,如果您编写以下代码
printf("hello"); printf("hello");
那么编译器完全可以自由地只创建一个文字。或不。