jclj.net
当前位置:首页 >> 数组的初始下标从几开始 >>

数组的初始下标从几开始

你放着0不用就行了.只要你自己习惯.C语言里无法改最小下标.总是0.注意最大不要越界.int a[100];的最大是 a[99]

这需要从数组的存储方式上解释了.定义一个数组时,系统会分配一块连续的内存,由数组名指向该块内存的首地址.引用某个元素时,首先需要计算该元素的地址(及 数组名 + 下标),然后根据该地址取到相应存储单元的内容.所以,如果希望取数组的第一个元素,下标必须是0

C语言数组无法定义起始下标,只能是从0开始,到(元素个数-1)结束,超越这个范围就是越界访问. C++和C#可以实现自定义起始下标.

[图文] 设一个数组中,行下标i的范围是从1到8,列下标的范围是从1到10,假设此数组的初始存储地址是A,则如果将此数组按照列优先的顺序连续存放,则元素Q[5][8]的起始地址是()A.1B.23C.24D.529请帮

不是的,是从0开始的,这个是基础知识,要加强哦

我期中考试的题和你的几乎一样,只不过我的题是偶数的结点之后插入元素x. 有一个数组,数据元素从下标为1的位置开始存放,试编写一个算法:在数组中所有数值为偶数的结点之后插入数值x,将数组中元素个数返回.要求:算法采用函数

简单的回答是:不能.但如果你非要这样做,也可以使用间接方法实现.下例说明了怎样让下标从1开始:char s0[8]; /* s0的下标从0开始 */char *s1 = s0 - 1; /* s1 指向s0之前1个单元 */s1[1] = 'O';s1[2] = 'K'; /* 现在s1的下标必须从1开始 */

第一维和第二维的下标都是从1开始.其实很简单的测试方法.VB里面有两个函数Lbound,Ubound,LBound是提取数组某一维的下标,Ubound是提取数组某一维的上标.测试代码如下:Option Base 1Sub XX() Dim arr(2,3) Msgbox LBound(arr,1) '这里的维数1可以省略,表示为Lbound(arr),就表示第一维,也就是你说的行 Msgbox LBound(arr,2) '这里的2表示第二维,也就是你说的列End Sub

网站首页 | 网站地图
All rights reserved Powered by www.jclj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com