小气鬼
发表于 2015-4-8 00:06:50
谢谢分享
小气鬼
发表于 2015-4-8 00:07:28
我也是醉了
夕阳游子
发表于 2015-4-9 11:20:29
建议楼主看下,<c陷阱与缺陷>里面有介绍
yydwzl
发表于 2015-4-11 21:49:02
进来学习
鱼c、晓杰
发表于 2015-4-12 12:33:24
谢谢楼组的无私分享!{:1_1:}
fs1026
发表于 2015-4-12 20:35:55
look
;LFJGKKFJH
发表于 2015-4-23 12:29:11
:shock:
82689681@qq.com
发表于 2015-4-23 17:46:13
我好像zhidao
aslkguier456786
发表于 2015-4-23 18:52:35
因为计算机是二进制的,所以从0开始.
k1727
发表于 2015-4-25 01:54:45
一般理解 0 是没有的意思.
可是在计算机看来 0 也是一种状态,从它的角度看来是一件事务.
是经过深思熟虑设计出来的.
1002457754
发表于 2015-4-25 21:43:53
了解了解
1002457754
发表于 2015-4-25 21:44:28
0000了解了解0000
斗转星移
发表于 2015-4-28 11:26:27
这是大神与屌丝的区别
神天狼01
发表于 2015-4-29 16:33:35
谢谢楼主分享
矢志不渝
发表于 2015-4-29 20:30:22
give me see
桃花飞舞
发表于 2015-4-30 20:48:05
:call:
云淡风轻夜
发表于 2015-5-3 23:00:07
谢谢楼主分享
p7764gyfft
发表于 2015-5-4 12:40:27
值得思考一番
glider
发表于 2015-5-4 14:07:26
本帖最后由 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的值,再进行指针的移动
我们知道计算机活动期间一直在对内存进行寻址、读写,可想而知,这种方式对计算机的开销有多大
------------------------------------------------------------------------------------------------------
以上纯属个人看法,欢迎讨论
1127142679
发表于 2015-5-5 00:49:27
谢谢分享