需要预先了解:


1. 常量指针:指向常量的指针。

1. 该指针指向常量,被其指向的内容不可修改。

int a = 10;
const int *ptr = &a;

*ptr = 20;             // 错误操作,不可以修改常量指针指向的内容
  • 即使常量指针指向的是变量,也不可以通过常量指针对其进行修改。

2. 该指针本身为变量,可以修改指针的指向。

int a = 10, b = 20;
const int *ptr = &a;

ptr = &b;             // 正确,允许修改指针指向

2. 指针常量:指针本身是常量,指向不可改变。

1. 该指针指向的是变量,可以修改指针指向的内容。

int a = 10;
int *const ptr = &a;

*ptr = 20;           // 正确,允许修改指针常量所指向的内容

2. 该指针本身为常量,不可以修改指针的指向。

int a = 10, b = 20;
int * const ptr = &a;

ptr = &b;           // 错误,不可以修改指针常量的指向