⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12.1.2 char const12.txt

📁 网上第一本以TXT格式的VC++深入详解孙鑫的书.全文全以TXT格式,并每一章节都分了目录,清晰易读
💻 TXT
字号:
12.1.2 char* const 
char* const类型定义的是一个指针常量。它的使用方法如下所示。 
char ch[5]="lisi"; 

/
char* const pStr=ch; 
上述代码首先定义了一个字符数组: ch.然后利用char*const类型定义了一个指针常量:pStr。然后,
同样用字符数组给这个指针常量赋值,相当于将字符数组的首地址赋给了指针常量。
注意此时const的位置:在"*"的后面,但在所定义的指针名称的前面。这种定义形式表明定义了一个
指针常量。要注意的是,对于指针常量,必须在其定义的同时赋值。指针常量表示指针本身是常量。
因此,对于pStr来说,其值是一个指针常量,是不能够修改的,但它所指向的内容是可以修改的。
假定上述代码中 ch这个字符数组在内存中存放的首地址是: 0088:4400.那么该字符数组的内存模
型,以及执行上述两行代码之后,各变量的内容如图 12.2所示。
图 12.2 const char*类型变量内存模型示例
这时,如果对 pStr变量进行如下操作: 
pStr= "zhangsan" ; //error 
*pStr= 'w' ; //ok 

因为上述第一行代码试图修改指针常量 pS仕的指针值,这是错误的,因为指针常量的指针值是不可
以修改的。而第二行代码是修改指针常量 pS住所指向的内容,这是可以的。
const char*类型的指针(指向常量的指针)其所指向的内容是常量,是不可以修改的,
但其指针值是可以修改的。但对于 c har * const类型的指针(常量指针)来说,它的地址是一个常
量,也就是说,它的指针值是常量,不可以修改,但其指向的内容是可以修改的。 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -