C/C++日志14
- 常量变量 当你用 const 声明一个变量时,这个变量的值在初始化之后不能被修改。
#include <stdio.h> int main() { const int a = 10; // a 是常量 // a = 20; // 错误:不能修改常量 a printf("a = %d\n", a); // 输出:a = 10 return 0; }
2. const 与指针
const 可以用来限制指针的行为。有三种常见的情况:
常量指针(Pointer to const):指针指向的内容是常量,但指针本身可以指向不同的地址。
指向常量的指针(Const pointer):指针本身是常量,不能改变指向的地址,但可以修改指向的内容。
常量指针指向常量(Const pointer to const):指针本身和指向的内容都是常量,既不能改变指针的指向,也不能修改指针指向的内容。
#include <stdio.h> int main() { const int a = 10; const int *p = &a; // p 是指向常量的指针 // *p = 20; // 错误:不能修改指向的内容 printf("p points to: %d\n", *p); // 输出:p points to: 10 return 0; }
#include <stdio.h> int main() { int a = 10; int * const p = &a; // p 是常量指针 *p = 20; // 可以修改 p 指向的内容 // p = &b; // 错误:不能修改指针的值(指针本身是常量) printf("a = %d\n", a); // 输出:a = 20 return 0; }