dzrs.net
当前位置:首页 >> 字符数组的下标从0开始 >>

字符数组的下标从0开始

是的,对数组a[MAX](MAX是一个编译时可知的值)来说,它的第一个和最后一个元素分别是a[o]和aLMAX-1).在其它一些语言中,情况可能有所不同,例如在BASIC语言中数组a[MAX]的元素是从a[1]到a[MAX],在Pascal语言中则两种方式都可

你可以把数组变量看成指针,数组下标看成地址的偏移量.因为数组第一个元素的地址偏移量一定是0,所以数组下标就是从0开始了

为了更好理解,我们举个例子:1、数组在内存中申请是,所申请的内存是一段连续的内存地址;2、例:int[] a=new int[3];申请一段:int 数据类型的数组,a 为变量,数组长度为:[3];3、这个数组所申请的内存地址是连续的(假设所申请的:

其实从0开始是有一定道理的.数组是一段连续的空间,要求a[i]就是求它的地址,然后找到它.如果从0开始,则a[i]的地址= 首地址 + i*每个数据所占的长度;如果从1开始,则a[i]的地址= 首地址 + (i-1)*每个数据所占的长度.是不是前一种更好计算呢.如果是二维数组就更是这样了.

这个问题的主要原因是因为C语言是符合了汇编语言的形式,当然也并不是所有的语言中的数组下标都是从0开始的,在汇编语言中通过基址变址方式寻址,通过内存偏移量来取得相应的数组中的数值,因为数组中第一个元素与数组的偏移量为0 因此,为了方便起见,下标采用从0开始

1楼,看你就学过易语言吧!易语言数组下标从1开始的,其它语言如c,python,java等都是从0开始的!

数组下标实际上是偏移量.a[0]和*a所指的都是第一个元素.a[1]=*(a+1).所以就有了从零开始的说法.

数组的最大下标是长度-1 如:int[] intarr = new int[]{1,2,3,4,5,6,6,7,8}; 它的长度为:intarr.length - 1 数组、集合的最大下标就是它们的长度减1,因为在java中,下标都是从0开始的

下标是指数组元素的索引号,VB默认是0,对于你的数组 dim a as variant a=array(1,2,3,4) a(0) 指第一个元素,它的索引号是0,它的值是1

程序最终都会编译成机器码2113,如果你了解汇编的话应该知道5261,数组占用着一串连在一起的内存,数组名可以4102理解为那一块内存的首地址,下标1653则是偏移,寻址过程就是首地址+偏移版*步长,第一个元素偏移为零,刚好等于下标,如果下标从1开始处理起来权麻烦一点.

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