当前位置:2019全年资料六合天机诗 > 取数组下标 >

c语言中数组的下标起什么作用取值范围是多少

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部可以通过下标来获取值,但是C语言不执行数组边界的有效性检查,发现如果数组下标越界了,那么它会自动接着那块内存往后写。

  最早的C编译器并不检查下标,而最新的编译器依然不对它进行检查。这项任务之所以很困难,是因为下标引用可以作为任意的指针,而不仅仅是数组名。

  作用于指针的下标引用的有效性既依赖于该指针当时恰好指向什么内容,也依赖于下标的值。结果,C的下标检查所涉及的开销比你开始想象的要多。编译器必须在程序中插入指令,证实下标的结果所引用的元素和指针表达式所指向的元素属于同一个数组。这个比较操作需要程序中所有数组的位置和长度方面的信息,这将占用一些空间。当程序运行时,这些信息必须进行更新,以反映自动和动态分配的数组,这又将占用一定的时间。因此,即使是那些提供了下标检查的编译器通常也会提供一些开关,允许你去掉下标检查。

  在C语言中,数组就是指针,他只保存了地址。这就造成无法检查是否越界,但也给指针和数组的交互操作提供极大的便利性。

  C 的数组根本就是一个指针的语法trick而已。 a[3] 就是 *(a+3),而此时a 就是一个地址,当然没有所谓边界限制。a[3] 等效于*(a+3)等效于*(3+a)

http://miraclemms.com/qushuzuxiabiao/107.html
点击次数:??更新时间2019-05-28??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】