2024年10月22日 09:51

This commit is contained in:
许大仙 2024-10-22 01:51:38 +00:00
parent e4d8e77f98
commit af0a306d1c

View File

@ -2052,7 +2052,7 @@ int main() {
} }
``` ```
#### 3.3.2.3 指针常量 #### 3.3.2.3 指针常量(Pointer to Constant)
* 语法: * 语法:
@ -2094,7 +2094,7 @@ int main() {
} }
``` ```
#### 3.3.2.4 常量指针 #### 3.3.2.4 常量指针(Constant Pointer)
* 语法: * 语法:
@ -2130,9 +2130,44 @@ int main() {
} }
``` ```
3.3.2.5 指向常量的常量 #### 3.3.2.5 指向常量的常量指针 (Constant Pointer to Constant)
#### 3.3.2.5 指针常量参数 * 语法:
```c
const int* const p3;
```
> [!NOTE]
>
> * ① 指向常量的常量指针就是指针的指向和指向的数据值都不能修改。
> * ② 在实际开发中,较少使用!!!
* 示例:
```c
#include <stdio.h>
int main() {
// 禁用 stdout 缓冲区
setbuf(stdout, nullptr);
int a = 10;
const int *const p = &a; // 必须在定义时初始化
// 错误,不能修改 a 的值
*p = 20; // [!code error]
// 错误,不能改变指针的指向
p = &a; // [!code error]
return 0;
}
```
#### 3.3.2.6 指针常量参数
* 在C语言中单独定义 const 变量没有明显的优势,完全可以使用`#define`命令代替。 * 在C语言中单独定义 const 变量没有明显的优势,完全可以使用`#define`命令代替。
@ -2201,7 +2236,7 @@ int main(){
} }
``` ```
#### 3.3.2.6 深入理解 const 关键字 #### 3.3.2.7 深入理解 const 关键字
* const 关键字修饰的变量const 常量,一旦被定义就必须初始化,后面的任何赋值行为都将发生错误。 * const 关键字修饰的变量const 常量,一旦被定义就必须初始化,后面的任何赋值行为都将发生错误。