const和指针的搭配

#include<stdio.h>
int main()
{
	//	
	int number = 2;
	int change = 3;
/*第一种:常量指针*/
	const int *pdata = &number;//Here,常量是 *pdata,值不能改变
//	*pdata = change;	//error
	pdata=&change;		//但是地址是可以改变的。

/*  //第二种:指针常量
	int *const pdata = &number;//Here,常量是pdata,址不能改变
	*pdata = change;		   //但值可以改变
	pdata = &change;		   //error
	printf("%d\n",*pdata);
*/

/*	//第三种:指向常量的指针常量
	const int *const pdata = &number;
	//Here,常量是*const pdata,而在*const pdata中	
	*pdata = change;		   //值不可以改变
	pdata = &change;		   //址也不可以改变
*/
/*
	const int const* pdata = &number;//warning C4114: same type qualifier used more than once

	//const在int前后都是一样的,关键是和*的相对位置
	//所以int const *pdata = &number; 和 const int *pdata = &number;
	//是一样的。	
*/
	printf("%d\n",*pdata);

	printf("最好别用汉语词汇记这些东西,转化不好,大脑就接收不了正确的信号了\n");
	printf("记着一句话,const总是限制他后面的东西,使其不能改变\n");
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值