博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

aobai

给自己立法三章: 一:决不抄袭 二:向一个优秀的网络,linux专家看齐 三:做事要专心,要脚踏实地,step by stey PS:本blog完全是为了自己学习所用,如果转载文章有不妥的地方,请指出,一定改正。
aobai.cublog.cn


读书笔记《c 专家编程》4
第四章
令人震惊的事实:数组和指针并不相同


。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
还有些问题,关于基础的c,比如const,volalite 的具体的意义,sizeof 等的意思?
还有就是extern 的问题,在c里可以不说明,但是在c++里为什么就必须说明呢?因为.....
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
错误的说法:“数组定义等于指针的外部声明”
为什么人们认为指针和数组始终应该是可以互换的呢?答案是对数组的引用总是可以写出对指针的引用,而且
确实存在一种指针和数组的定义完全相同的上下文环境。不幸的是这只是一种极为普通的用法,而并非所有的
情况下都是如此。

回顾两个术语:
定义:  只能够出现在一个地方   确定对象的类型并分配内存,用于创建新的对象
声明:  可以多次出现                    描述对象的类,用于指代其它地方定义的对象

小启发
声明相当于普通的声明:它所说明的并非自身,而是描述其他地方创建的对象。
定义相当于特殊的定义:它为对象分配内存
。。。。。。。。。。。。
左值和右值的区别(p83)
左值在编译时可知,右值在运行时可知
可修改的左值(一般的指针)和不可修改的左值(数组名)
。。。。。。。。。。。。
还有一种发生莫名错误的可能——当你“定义为指针,但是以数组方式引用时”(p85)
指针数组的区别:
如果指针有一个下标[I],就把指针的内容叫上I作为地址,从中提取数据。。。。。。

在ANSI C 中,初始化指针是所创建的字符串常量被定义为只读。
与指针相反,由字符串常量初始化的数组是可以修改的。

发表于: 2008-05-09 ,修改于: 2008-05-09 22:29,已浏览74次,有评论0条 推荐 投诉


网友评论

发表评论