数组下标从什么地方开始的
发布时间:2025-05-13 00:39:40 发布人:远客网络
一、数组下标从什么地方开始的
1、数组下标一般是从0开始的。如果一个数组有三个元素,应该是a[0]、a[1]、a[2],如果a.Length=3,则会超出了数组的界限,因为数组中根本不存在下标为3的元素。
2、int[] score= new int[]{ 89, 39, 100, 51, 94, 65, 70};//分数
3、//score数组的长度为7,从零开始循环,而i<=score.Length=7就会报“索引超出了数组界限的错误,所以应该是i<score.Length
4、for(int i= 0; i<= score.Length; i++)
5、对于以线性定址的向量,索引为i的元素处于位址B+c×i,其中B是固定的基底位址,c为常数,
6、如果有效的元素索引从0开始,则常数B只是数组第一个元素的位址。因此C语言指定数组的索引一定从0开始;许多开发人员会将该元素称为“第零”而不是“第一”。
7、然而若适当选择基底位址B,来作为第一个元素的索引起始值。譬如数组有五个元素,索引为1到5,基底位址B以B+30c来替换,则相同数组的这些元素索引将转为31到35。如果编号从0开始,则常数B可能不是任何元素的位址。
二、C语言数组的下标总是从0开始吗
在其它一些语言中,情况可能有所不同,例如在BASIC语言中数组a[MAX]的元素是从a[1]到a[MAX],在Pascal语言中则两种方式都可行。注意:a[MAX]是一个有效的地址,但该地址中的值并不是数组a的一个元素。上述这种差别有时会引起混乱,因为当你说“数组中的第一个元素”时,实际上是指“数组中下标为。的元素”,这里的“第一个”的意思和“最后一个”相反。因为指针和数组几乎是相同的,因此你可以定义一个指针,使它可以象一个数组一样引用另一个数组中的所有元素,但引用时前者的下标是从1开始的:/*don't do this!!*/ int a0[MAX], int*a1=a0-1;/*&a0[-1)*/现在,a0[0]和a1[1)是相同的,而a0[MAX-1]和a1[MAX]是相同的。然而,在实际编程中不应该这样做,其原因有以下两点:第二,这种方式背离了C语言的常规风格。
三、c++语言程序设计 什么是数组数组下标是从多少开始的那句话
1、在C语言中,对于数组你只需要理解三件事。
2、所谓的n维数组只是一个称呼,一种方便的记法,都是使用一维数组来仿真的。
3、C语言中数组的元素可以是任何类型的东西,特别的是数组作为元素也可以。所以int a[3][4][5]就应该这样理解:a是一个拥有3个元素的数护川篙沸蕻度戈砂恭棘组,其中每个元素是一个拥有4个元素的数组,进一步其中每个元素是拥有5个整数元素的数组。
4、2.数组的元素个数,必须作为整数常量在编译阶段就求出来。
5、int i;int a;//不合法,编译不会通过。
6、编译器无法推断,所以会判错说“array size missing in a”之类的信息。不过在最新的C99标准中实现了变长数组
7、3.对于数组,可以获得数组第一个(即下标为0)元素的地址(也就是指针),从数组名获得。