如果我试图定义一个指向C中字符串文字的指针,会发生什么?
比如说,如果我试图定义一个指向C中字符串文字的指针,会发生什么?,c,string,pointers,memory,string-literals,C,String,Pointers,Memory,String Literals,比如说, char * first = "Hello World!"; 我的问题是, 字符串文本是否存储在内存中?(如果是,我猜指针first是字符串literal“Hello World”的初始元素的地址) 如果不是,那么某种随机指针值是否先存储在中 是的,字符串文本存储在内存中。C和C++标准只是说字符串文本具有静态存储持续时间,任何修改它们的尝试都会给出未定义的行为,并且具有相同内容的多个字符串文字可能共享或不共享相同的存储。p> 是字符串文本存储在内存中,通常存储在.rodata部分它
char * first = "Hello World!";
我的问题是,
first
是字符串literal“Hello World
”的初始元素的地址)中
是的,字符串文本存储在内存中。C和C++标准只是说字符串文本具有静态存储持续时间,任何修改它们的尝试都会给出未定义的行为,并且具有相同内容的多个字符串文字可能共享或不共享相同的存储。p> 是字符串文本存储在内存中,通常存储在.rodata部分它取决于您的平台,由实现定义。一般情况下,如果系统上有可用的话,它会转到只读存储器。阅读更多信息。1。对2.没有意义,因为第一个答案是“是”。你所说的保存指针是什么意思?@RawN我认为“定义”这个词更合适@RawN我想他的意思是首先将指针存储在
中。