【发布时间】:2012-04-07 17:02:30
【问题描述】:
有什么区别
char* name
指向一个常量字符串字面量,而
const char* name
【问题讨论】:
-
C(非 C++)中的“常量字符串文字”是什么意思
-
... char *name 可以指向一个常量字符串字面量
-
“常量字符串文字”中的常量是多余的,因为理论上所有的字符串文字都是常量实体。变量的内容既可以是常量,也可以是可变的。如果您尝试更改“name”指向的字符的内容,“const”声明只会引发编译时错误
-
简单:"char *name" name 是指向 char 的指针,即两者都可以在此处更改。 "const char *name" name 是指向 const char 的指针,即指针可以改变但不能改变 char。
-
从右到左阅读这些内容。