int * const p 常量类型的指针,只能指向一个变量,不可更改 ,可以相互改变值
#include<iostream> using namespace std; int main(){ int a=1; int b=2; const int c=3; const int d=4; int *const p=&a; int *const p=&c; //x p=&b; //× a++; //√ ++*p; //√ cout<<a<<endl<<*p; return 0; }
const int *p 指向常量的指针,不可改变值;如果指向变量,可以通过改变变量的值来改变*p的值,反之不行
#include<iostream> using namespace std; int main(){ int a=1; const int b=3; const int *p=&a; a++; //√ *p++; //x cout<<a<<endl<<*p; return 0; }
int const *p 感觉同上
#include<iostream> using namespace std; int main(){ int a=1; int b=2; const int c=3; const int d=4; int const *p=&c; p=&d; //√ // p=&b; //√ // b++; // √ // ++*p; // x cout<<c<<endl<<*p; return 0; }