字符串字面值也称为字符串常量,以空字节\0结尾,const char组成的字符数组。
字符串是以空字节\0结尾的字符数组。
下面举例说明两者的不同:
char *s = "ABC"
char ss[] = "ABC"
当计算机把程序载入寄存器时,会把常数值"ABC"放入到只读寄存器中;在栈中创建局部变量指针s和数组ss,进行初始化时s保存的是字符串字面值"ABC"的地址,而对于ss程序会把字符串字面值"ABC"的内容复制到在栈上为其分配的存储空间中,ss保存的是栈中"ABC"首字符的地址。
网友评论