const char*
char* const
两者的区别
const char*
char ch[5]="dongge";//定义了一个字符数组:ch,并赋值为字符串,对于字符串来说,它的最后都需要防止一个"\0"
const char* pStr=ch;//接下来定一个指向常量的指针变量:pStr。我理解错了,这里的const标识的不是它本身,而是指
向的东东,pStr是一个指向常量的指针。其实它就是一个指针,特殊的地方在于它指向一个常量。
ch |d| 地址为0088:4400
|o|
|n|
|g|
|g|
|e|
所以pStr的值为 pStr=0088:4400,这个值是可以改变的。
*pStr='w';//error 指向的内容不能修改,*是取值符号,我们获取一个常量给它一个新值是不可以的。
pStr="wangwu";//ok 这个是可以的,我们改变的是指针的内容,这个指针获取的内容是第一个字母的地址。
char* const
char ch[5]="dongge";//定义了一个了一个字符数组
char * const pStr=ch;//定义了一个指针常量(这个常量就是说它本身是一个常量,而且还是一个指针)
pStr="zhangsan";//error 取的是这个指针,因为指针是常量,不能修改该
*pStr='w';//ok
MFC const char* 和char* const
最新推荐文章于 2020-12-16 21:16:43 发布