您的位置:首页 > 其它

两种与const相关的指针类型

2011-09-18 23:34 274 查看
 
 

名称                 类型
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐