mirror of
https://github.com/Aexiar/c.git
synced 2024-10-22 14:05:45 +02:00
2024年10月22日 09:51
This commit is contained in:
parent
e4d8e77f98
commit
af0a306d1c
@ -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`命令代替。
|
||||
|
||||
@ -2201,7 +2236,7 @@ int main(){
|
||||
}
|
||||
```
|
||||
|
||||
#### 3.3.2.6 深入理解 const 关键字
|
||||
#### 3.3.2.7 深入理解 const 关键字
|
||||
|
||||
* const 关键字修饰的变量,即:const 常量,一旦被定义就必须初始化,后面的任何赋值行为都将发生错误。
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user