注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Sky

积蓄能量,准备奔跑!

 
 
 

日志

 
 

Const详述  

2009-03-29 12:07:10|  分类: VC++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
好久 没有写bolg了,感觉时间过的真快,09年的第一个季度马上就要结束了,觉得自己应该踏踏实实的做点什么。
也不是很清楚自己要做什么,还是先看看书吧,基础很重要,呵呵。
Const 常量
1,先说明一下在C和C++中的区别
在c语言中,const int i= 10;所声明的常量只能在程序执行后才能访问,而在C++中是允许在后续的编译中访问的。
例如:
const int i=9;
chart t[i];//等效于chart [9];
此种写法在c++中是允许的,但是在C语言编译时报错
如果要在c中实现这样的技术,需要借助于“#define i 9”,但是这样,在编译的是无法确定常数的类型。
在c语言中,如果用#define预定义的常数作为实参传递给一个函数,该函数只能按着形参的类型做隐含类型转换。
2,const常量:

const int a=2;
int const b=c; // c是已经声明过的整型
两者都可以。本地的const常量必须在第一次声明时就初始化,用变量或常量初始化都可以,只是初始化一次以后它的值就不能再改变了,此所谓const的含义
3,常量指针和指向常量的指针
const的位置不一样,所表示的含义也不同
例如:
chart * const prt = str1;//常量指针
prt = str2;//是不可行的
*prt = “m”;//是可行的
就是说指针本身是常量,是不能改变的,但是可以改变指向对象的值,即常量指针

const chart * prt = str1;//指向常量的指针
prt = str2;//是可行的
*prt = “m”;//是不可行的
和常量指针正好相反,就是说指针所指向的对象是常量,不能改变,但是指针本身可以改变,即指向常量的指针

这样来记忆:
const int a; // const常量
const int *a; //指向常量的指针
int *const a=&n; //常量指针
你在纸上按顺序写下以上三行,记住它们的注释长度:短——长——短,
分别对应着:const常量、指向常量的指针、常量指针这三种,应该就不会混淆了。

4,除以上的三点,还有常引用,常函数,常数据成员,在此不做进一步说明



  评论这张
 
阅读(149)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017