const char*和char* const

1、const char*

Const char*类型是指向常量的指针,注意此时const所在的位置:在“*”的前面。Constchar的前面或后面都是一样的,但通常将const放置在char的前面,对一个利用const char*类型定义的常量指针来说,不能修改其指向内存中的内容,但可以修改其所指向的内存地址。const char*类型的使用方法如下:

char ch[5] = "lisi"

const char *pStr = ch; (pstr所指的变量的值不能改变)

第二行定义了一个指向常量的指针变量:pStr,然后用已定义的字符数组ch给这个变量赋值。相当于将这个数据的首地址赋给了这个变量,因为对于利用const char*类型定义的指向常量的指针变量,不能修改其指向的内存中的内容,但可以修改其本身的值,即变量所保存的内存地址,因此对于pStr来说,这个指针变量的值是可以修改的,而其指向的对象(即数据中的元素)被看做是常量,不能够被修改

2、char* const

Char* const类型定义的是一个指针常量,他的使用方法有

char ch[5] = "lisi"

char *const PSTR = ch; 
利用char* const类型定义了一个指针常量(pstr所指的地址不能变)pStr,然后同样用字符数组给这个指针常量赋值,相当于将字符数组的首地址赋给了指针常量

注意此时const的位置:在“*”的后面,但在所定义的指针名称的前面,这种定义形式表明定义了一个指针常量,要注意的是,对于指针常量,必须在其定义的同时赋值,指针常量表示指针本身是常量,因此对于pStr来说,其值是一个指针常量,是不能够修改的

总结:

Const char*类型的指针(指向常量的指针)其所指向的内容是常量,是不可以修改的,但其指针值是可以修改的。

但对于char* const类型的指针(常量指针)来说,它的地址是一个常量,也就是说,它的指针值是常量,不可以修改,但其指向的内容是可以修改的!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值