关于C const的问题
可能的重复:
关于“int const *p”和“const int *p”
之间的区别
const char *p
和
char * const p?
在于,第一个意味着不能更改字符。后面一种意思是不能改变指针。我说得对吗? 谢谢你!
Possible Duplicate:
about “int const *p” and “const int *p ”
Difference between
const char *p
and
char * const p?
is that fist one means cannot change char. Later one means cannot change the pointer. Am I right?
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
表示字符不能更改。
*p = '\0'
是非法的。 Varp
是一个指向const char
的指针。表示指针不能改变。
p = 0
是非法的。常量p
是指向char
的指针。意味着两者都无法改变。常量
p
是指向const char
的指针。更新:添加了第三个声明。
means the characters cannot be changed.
*p = '\0'
is illegal. Varp
is a pointer to aconst char
.means the pointer cannot be changed.
p = 0
is illegal. Constantp
is a pointer to achar
.means neither can be changed. Constant
p
is a pointer to aconst char
.Update: Added third declaration.
在第一个中,您无法编辑被指点,在第二个中,您无法编辑指针。
也许看看这个。
In the first you can't edit the pointee and in the second you can't edit the pointer.
Have a look at this perhaps.