善用指针---const指针

//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;
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值