两种与const相关的指针类型

 

 

名称                 类型

datatype *const  p

 

const datatype *p

 

解释:

指针地址是常量,它只能指向在初始化时指向的单元,能通过该指针修改指向单元的内容

 

该指针仍然是变量,因此它允许在声明时不初始化,不具备修改其指向内容的功能

不同

可以进行*p=x;的操作对其指向的内容进行修改,但是不能改变指针地址,如:p=&t的操作

可以进行p=&t;的操作来进行p的初始化或改变。但是不能通过该指针来进行篡改如:*p=x的操作

#include<iostream.h>
main()
{
int i, j=666;
const int ic = 100;
const int * ip = & ic;//指针是变量,可以改变指向,但是不能够修改内容
int *const icp = & i;//指针常量,不可以改变指向但是可以修改其内容
//icp = &j;                    //err
*icp = 200;	
cout<<"i="<<i<<endl;
cout<<"j="<<j<<endl;
cout<<"*ip="<<*ip<<endl;
//*ip=454545;//报错!!!
*icp=45;
cout<<"修改后的*icp="<<*icp<<endl;
cout<<"经过修改指向i 的一个指针后i="<<i<<endl;
ip=&j;
cout<<"改变指向后,指向j的*ip="<<*ip<<endl;

cout<<"*icp="<<*icp<<endl;
/*
常型针?变;const在前 按照datatype,const和指针运算符*的出场顺序自编自忆
型针常?常;datatype在前

*/
return 0;
}


2011年9月18日 23:37:29

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值