常量指针
常量指针是指:所指向的内存空间是只读的,即指向的数据无法被修改,但指针本身的指向是可以修改的。
声明方式:
// 声明方式一
const int* p;
// 声明方式二
int const* p;
指针常量
指针常量是指:指针本身就是一个常量,其指向不可修改
声明方式:
int* const p;
实例
#include <iostream>
int main() {
using namespace std;
// 声明变量
int a = 2;
int b = 3;
// 声明常量指针(指针指向的内存空间是只读的)
const int* p1 = &a;
p1 = &b; // 指针本身的指向是可以修改的
*p1 = 3; // (报错) 修改常量指针指向的内存空间所存储的数据时会报错
// 声明指针常量(指针本身就是一个常量)
int* const p2 = &a;
p2 = &b; // (报错) 指针常量的指向不能被修改,即指针本身就是一个常量
*p2 = 3; // 指针常量指向的内存空间是可读写的,即指针常量指向的数据可以被修改
return 0;
}