//const指针
#include<iostream>
using namespace std;
int main()
{
int a=3,b=4;
//测试一
const int *p=&a;//指向常量的指针变量
//用指向常量的指针变量只是限制了通过指针变量改变它指向的对象的值
cout<<*p<<endl;
//*p=5; //不能通过指针变量改变它的指向的对象的值,但是它指向对象可以自己改变自己的值
//即不能通过p来改变a的值,但是指针变量p的值(p的指向)是可以改变的。
a=5;
cout<<*p<<endl;
p=&b; //p可以改为指向b
cout<<*p<<endl;
//测试二
int * const q=&a; //常指针变量
//q=&b; //指定q只能指向变量a
*q=12; //但是可以通过指针变量来改变所指对象的值
cout<<"a="<<a<<",*q"<<*q<<endl;
//测试三
const int * const pt=&b;//指向常量的常指针变量
//pt只能指向b,并且不能通过pt修改b的值
cout<<"b="<<b<<",*pt="<<*pt<<endl;
b=13;
cout<<"b="<<b<<",*pt="<<*pt<<endl;
//测试四
const int c=22;//c的值不可以改变
const int * const s=&c;
//以下都错误
//c=21;
//*s=21;
//s=&a;
cout<<"c="<<c<<",*ss="<<*s<<endl;
system("pause");
return 0;
}
善用指针---const指针
最新推荐文章于 2023-08-04 11:44:28 发布