谢谢分享
我也是醉了
建议楼主看下,<c陷阱与缺陷>里面有介绍
进来学习
谢谢楼组的无私分享!{:1_1:}
look
:shock:
我好像zhidao
因为计算机是二进制的,所以从0开始.
一般理解 0 是没有的意思.
可是在计算机看来 0 也是一种状态,从它的角度看来是一件事务.
是经过深思熟虑设计出来的.
了解了解
0000了解了解0000
这是大神与屌丝的区别
谢谢楼主分享
give me see
:call:
谢谢楼主分享
值得思考一番
本帖最后由 glider 于 2015-5-4 19:18 编辑
我觉着吧,是指针偏移量,从0开始便于寻址。
解释下:
假如内存2000:0000的值是数字1, 2000:0001的值是数字2, 2000:0002的值是数字3,……;当前的CS:IP是2000:0000
如果我们要取数字1,第1个元素,地址是0,指针从初始位置向后移0位,理解为指针偏移量是0
如果我们要取数字2,第2个元素,地址是1,指针从初始位置向后移1位,理解为指针偏移量是1
如果我们要取数字3,第3个元素,地址是2,指针从初始位置向后移2位,理解为指针偏移量是2
……
以此类推下去,数字N的地址是N-1,指针偏移量也是N-1,就是说:指针的偏移量始终与地址相等,一个元素的地址是多少,指针偏移多少就可以取到
相反,如果不是从0开始,而是从1开始,设想一下:
如果我们要取数字1,第1个元素,地址是1,IP的初始位置向后移0位,指针偏移量是0
如果我们要取数字2,第2个元素,地址是2,IP从初始位置向后移1位,指针偏移量是1
如果我们要取数字3,第3个元素,地址是3,IP从初始位置向后移2位,指针偏移量是2
……
以此类推,数字N的地址是N,指针偏移量是N-1,这样的话,指针的偏移量比下标(或者索引)少1,即是说:一个元素的地址是N,指针偏移N再回退1,或者先计算N-1的值,再进行指针的移动
我们知道计算机活动期间一直在对内存进行寻址、读写,可想而知,这种方式对计算机的开销有多大
------------------------------------------------------------------------------------------------------
以上纯属个人看法,欢迎讨论
谢谢分享