ANSI C声明如果对一个字符串常量进行修改,其效果是未定义的,因此不建议在程序中队字符串常量进行修改操作。
另外,在程序中使用字符串常量会生成一个“指向字符的常量指针”。当一个字符串常量出现于一个表达式中时,表达式所使用的值就是这些字符串所存储的地址,而不是这些字符串本身。因此,你可以把字符串常量赋值给一个"指向字符的指针",后者指向这些字符所存储的地址。但是,你不能把字符常量赋值给一个字符数组,因为字符串常量的直接值是一个指针,而不是这些字符本身。但是字符数组初始化时可以。
如果你觉得不能赋值或者复制这些字符显得不方便,你应该知道标准C函数库包含额一组函数,它们就是用来操纵字符串的,包括对字符串进行复制、连接、比较以及计算字符串长度和在字符串中查找特定字符的函数等。