char *p="Hello world"与char a[]="Hello world"的区别

char *p="Hello world"; char a[]="Hello world"; "Hello world!\n"字符串字面量(string literal)——C语言源程序中用双引号包含的字符串的正式名称——有两种稍有区别的用法:(1)用作数组初始值(如同char a[] = "Hello world!\n";的声明),它指明数组中字符的初始值。(2)其他情况下,它会转化为一个无名的静态字符数组,可能会存储在只读内存中,这就导致它不能被修改。在表达式环境中,数组通常被立刻转换为一个指针。因此char *p = "Hello world!\n";声明把p初始化成指向无名数...
默认分类 | 2011-11-29 20:52 | 阅读 7033 次 | 评论 1 条
浏览48150次