注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小哲

从今以后,你会是所有幸福的理由!

 
 
 

日志

 
 

const char*和char* const  

2012-02-12 14:02:45|  分类: MFC初级 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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

2、char* const

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

char ch[5] = "lisi"

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

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

总结:

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

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

  评论这张
 
阅读(1218)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017