C++中的常量指针和指针常量
1.概述:
const Type * pointer;常量指针(const在*之前,与类型的位置无要求),所指向的地址上的数据是常量,而指向的地址可以变化。
Type * const pointer:指针常量(const在*之后), 指向的地址是常量, 而地址上的数据可以改变。
2.例子:
#include "iostream" #define N 8 using namespace std; void main(){ int n1=1; int n2=2; int * const p1=&n1;//指针常量, int const * p2=&n1;//常量指针, *p1=3;//指针常量可以改变指向地址的数据,n1也改变了 //p1=&n2;//指针常量不能改变指向的地址 //*p2=3;//常量指针不可以改变指向地址的数据, p2=p1;//常量指针可以改变指向的地址,n2没有改变 cout<<"p1:"<<*p1<<"|"<<"n1:"<<n1<<endl; cout<<"p2:"<<*p2<<"|"<<"n2:"<<n2<<endl; getchar(); }