我对字符串文字有些怀疑。
首先,我知道必须使用strcmp()
,strncmp()
或其他函数比较C字符串,如果使用==
,则将指针作为数组名称进行比较"衰变"指向其第一个元素的指针
两个相同的字符串是否有可能具有相同的地址,即这些条件是否可以成立?
if("string"=="string")
/*OR*/
char* str="string";
if(str=="string")
/*OR*/
char* str="string";
char* str2="string";
if(str==str2)
其次,两个不相等的字符串可以包含相同的地址吗?
最后,在程序结束之前,这些字符串是否保留在只读内存段中?