【C++学习笔记】由 const char* 引出的一系列问题

本文深入探讨了C++中const char*的三种形式,解析了它们的含义和使用规则。文章通过实例分析了如何正确定义和初始化const char*,并详细阐述了字符'a'与字符串"a"的区别,强调了在初始化指针时应注意的事项。
摘要由CSDN通过智能技术生成

1、const char* , char const * , char * const 之间的关系

const char * p: p是一个指向常量字符的指针。指针所指的对象不能通过*p去改变(可以通过其他方式改变,与指针p无关),但是指针本身是可以改变的,也就是p可以去指向其他的char对象。p所指对象可以是常量的,也可以是非常量的,也就是常量的地址必须用指向常量的指针来存放,但是指向常量的指针可以存放常量或者非常量的地址
char const * p : 和上面是一样的,表示的是一个指向常量的指针,不可通过*p来改变所指的对象。
char * const p : p是一个常量指针,自身所存放的指向对象的地址不可改变,指向的对象可以是常量也可以是非常量。常量指针必须初始化,不可二次改变。

2、 const char * 怎么定义与初始化呢?

const char * p : p是一个指向字符常量的指针,p里面存放的是字符常量的地址。
下面我们来看一个例子,我们想初始化一个const char *p:

const char* p1 = "abc";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值