一、c
语言中const
修饰普通变量和指针、指针变量 📝
- 1、
const
修饰普通变量,结果为定义了一个常量,但是这个常量可以通过指针修改// 定义了一个常量a const int a = 10; // 通过指针修改常量a int * p = &a; *p = 13; printf("%d\n", a); printf("%d\n", *p);
- 2、
const
修饰int *
类型,不能改变指针指向的内存单元的值,可以改变指针指向的内存单元int a = 10; int b = 20; const int * p; p = &a; // *p = 100; // 这句话会报错 p = &b; printf("%d\n", *p);
- 3、
const
修饰指针变量p
,不能改变指针指向的内存单元,可以改变指针指向的内存单元的值int a = 10; int b = 20; int * const p = &a; // p = &b; // 会报错 *p = 120; printf("%d\n", a); printf("%d\n", *p);
- 4、
const
既修饰int *
类型,又修饰指针变量p
,既不能改变指针指向的内存单元,又不能改变指针指向的内存单元的值int a = 10; int b = 20; const int * const p = &a; // p = &b; // 会报错 // *p = 50; // 会报错