可以将两个相等/不相等的字符串文字存储在同一个内存位置吗?

时间:2015-02-11 14:09:09

标签: c string string-literals

我对字符串文字有些怀疑。

首先,我知道必须使用strcmp()strncmp()或其他函数比较C字符串,如果使用==,则将指针作为数组名称进行比较"衰变"指向其第一个元素的指针 两个相同的字符串是否有可能具有相同的地址,即这些条件是否可以成立?

if("string"=="string")

/*OR*/

char* str="string";
if(str=="string")

/*OR*/

char* str="string";
char* str2="string";
if(str==str2)


其次,两个不相等的字符串可以包含相同的地址吗?

最后,在程序结束之前,这些字符串是否保留在只读内存段中?

0 个答案:

没有答案