常量指针与指针常量
const int *p1; //常量指针,从后往前可以理解为:p1 is a pointer point to const int
常量指针:声明了一个指向整型常量的指针p1,不能通过这个指针p1去修改所指向变量的值。但是可以修改指针p1的指向,即指针p1可以指向别的同类型变量
int* const p2; //指针常量,从后往前可以理解为:p2 is a const pointer point to int
指针常量:声明了一个指针型常量,用于存放整型变量的地址,这个指针一旦初始化后,就不能被重新赋值了。即指针p2 定义的同时一定要初始化,初始化之后就一直指向一个int变量了,无法修改指向。但是可以通过指针p2去修改所指向变量的数值
#include <iostream> using namespace std; int main() { int a = 5 , b = 10; const int* p1 = &a; //p1指针可以指向别的int变量,但是不能通过p1去修改所指变量的值 //*p1 = 6; 错误 a = 6; p1 = &b; //*p1 = 11; 错误 cout << a << endl; //6 cout << *p1 << endl; //10 int c = 15 , d = 20; //int* const p2; 错误,没有初始化 int* const p2 = &c; cout << *p2 << endl; //15 //p2 = &d; 错误,p2不可以指向别的变量 *p2 = 25; cout << *p2 << endl; //25 }
结果
6 10 15 25
标签:p1,const,常量,指向,int,指针 From: https://www.cnblogs.com/uacs2024/p/18064995