Chinaunix首页 | 论坛 | 博客
  • 博客访问: 188625
  • 博文数量: 45
  • 博客积分: 1657
  • 博客等级: 上尉
  • 技术积分: 765
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-13 12:42
文章分类

全部博文(45)

文章存档

2012年(1)

2011年(4)

2010年(6)

2009年(3)

2008年(31)

分类: IT职场

2008-08-25 19:55:56

为什么c数组是从0开始

  C语言是开发操作系统的首选语言,在很多方面都能从C代码中看到机器的固有性质。比如,PASCAL语言的数组索引是从1开始计数,而C语言就是从0开始计数。从0开始计数不太符合一般人的正常思维模式,但是为什么C语言要采用这种设计方式呢?因为C语言最初主要是为操作系统开发人员和编译器设计人员设计的——对于经常需要考察内存地址的开发人员,偏移量的概念在他们脑子里面根深蒂固。要把100个int型的整数放在从地址0x0000开始的一段内存中,如果系统是按Byte编址的,那么第100个元素(其数组索引为99)的要放入的地址必然是:0x0000 + sizeof(int) * 99,而不是乘以100,所以索引以0开始是很有好处的。

以后有好的再添加。
阅读(1655) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~