目录一、const char *ptr;二、char const *ptr;三、char * const ptr;C/C++ 中关于以下三种定义: const char *
C/C++ 中关于以下三种定义:
整理三者之间的区别与联系。
定义一个指向字符常量的指针,这里,ptr是一个指向 char* 类型的常量,所以不能用ptr来修改所指向的内容,换句话说,*ptr的值为const,不能修改。但是ptr的声明并不意味着它指向的值实际上就是一个常量,而只是意味着对ptr而言,这个值是常量。实验如下:ptr指向str,而str不是const,可以直接通过str变量来修改str的值,但是确不能通过ptr指针来修改。
GCc编译报错信息:
注释掉16行ptr[0] = 's';运行正常,运行结果为:
hello world
gello world
另外还可以通过重新赋值给该指针来修改指针指向的值,如上代码中取消7、18行的注释,运行结果为:
hello world
Good game!!
此种写法和const char *等价,大家可以自行实验验证。
定义一个指向字符的指针常数,即const指针,实验得知,不能修改ptr指针,但是可以修改该指针指向的内容。实验如下:
gcc报错信息:
注释掉17行代码运行正常,运行结果为:
hello world
sello world
到此这篇关于c++中const char*、char const*、char * const三者的区别的文章就介绍到这了,更多相关const char*、char const*、char * const内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: C++中const char*、char const*、char * const三者的区别
本文链接: https://www.lsjlt.com/news/135500.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0