c语言中,数组元素的下标是从什么开始的

2020-11-20 05:39:44 字数 4959 阅读 6973

1楼:匿名用户

从0开始

比如a[100] 就是0-99的下标

2楼:大狂哥灬

比如说a【4】是从下标0开始到3结束

a【n】就是从0开始到n-1结束

c语言数组的下标总是从0开始吗?

3楼:水水好萌

是的,对数组a[max](max是一个编译时可知的值)来说,它的第一个和最后一个元素分别是a[o]和almax-1)。在其它一些语言中,情况可能有所不同,例如在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语言中数组下标的工作方式,如果你的程序使用了另外一种方式,别人就很难读懂你的程序,而经过一段时间以后,连你自己都可能很难读懂这个程序了。

c语言中的数组具有的特性是: a:所有元素具有相同的数据类型 b:元素下标从1开始

4楼:匿名用户

a:所有元素具有相同的数据类型

>>正确. 定义数组形式为 type name[size]; 每个元素的类型都是type.

b:元素下标从1开始

>>错误, 从0开始.

c:所有元素占用连续的内存

>>正确. 数组占内存连续. 从数组名即首地址开始.

d:数组名是一个地址常量

>>正确. 数组名值为数组首地址, 类型为一个常量数组指针.

c++语言程序设计 什么是数组?数组下标是从多少开始的那句话

5楼:志当存高远

在c语言中,对于数组你只需要理解三件事。

1.c语言中有且只有一维数组。

所谓的n维数组只是一个称呼,一种方便的记法,都是使用一维数组来**的。

c语言中数组的元素可以是任何类型的东西,特别的是数组作为元素也可以。所以int a[3][4][5]就应该这样理解:a是一个拥有3个元素的数护川篙沸蕻度戈砂恭棘组,其中每个元素是一个拥有4个元素的数组,进一步其中每个元素是拥有5个整数元素的数组。

2.数组的元素个数,必须作为整数常量在编译阶段就求出来。

int i;int a;//不合法,编译不会通过。

你可以试试这个:int a;

编译器无法推断,所以会判错说“array size missing in a”之类的信息。不过在最新的c99标准中实现了变长数组

3.对于数组,可以获得数组第一个(即下标为0)元素的地址(也就是指针),从数组名获得。

单片机数组中的元素下标从什么开始递增

6楼:匿名用户

跟普通c语言一样,单片机c51数组元素下标也是从0开始递增。

比如:unsigned char a[10],其元素为:a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9].

c51也是c语言之一,遵循c语言的基本规则,只不过由于其专门为单片机服务的,所以增加了一些与单片机有关的函数和变量、关键字等,也修改了一部分函数的功能。

比如:printf()这个函数,就做了较大改变,在c51中这个函数功能就是串口输出而不是在显示器上格式化输出。

c语言中,数组元素的下标下限为

7楼:行了我

c语言中,数组元素的下标下限为0。

数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。

对于vb的数组,表示数组元素时应注意:下标必须为一段连续的整数,其最小值成为下界,其最大值成为上界,不加说明时下界值默认为1。

扩展资料:

数组声明上下界

声明数组时,在数组名之后跟一个用括号括起来的上界。

上界不得超过 long数据类型的范围(-2,147,483,648 到 2,147,483,647)。

1、模块声明

dim counters (14) as integer '15 个元素。

dim sums (20) as double '21 个元素。

第一个声明建立了一个有 15 个元素的数组,其索引号从 0 到 14。

第二个声明建立了一个有 21 个元素的数组,其索引号从 0 到 20。缺省的下界为 0。

2、关键字 to 显式声明

dim counters (1 to 15) as integer

dim sums (100 to 120) as string

在前述声明中,counters 的索引值范围从 1 到 15,而 sums 的索引值范围从 100 到 120。

8楼:帅小凡

是 65535,也就是你最大可以 int array[65536];

我亲自做过实验的,

如果你非要 int array[65537]的话,编译也不会出错,不过array[0]一定是等于array[65536]

9楼:天堂妹儿

一个数组单元的引用方法是数组加上方括号括起来的整数。用方括号括起来的整数是数组下标,数组下标从0开始,最大不能超过:数组长度-1。

数组下标可以是整型变量或整型表达式,但不能是浮点型的变量或浮点型表达式;并且下标不能大于:数组长度-1。因为超过部分没有被定义过,是不能正确使用的。

如果定义了“int s[6];”,s数组的六个元素的引用方式是s[0]、s[1]、s[2]、s[3]、s[4]和s[5]。

为什么c语言的数组下标从0开始而不是从1开始

10楼:匿名用户

一种约定。

如果最初约定从1开始 那也没什么

至于为什么会选择从0开始,最重要的原因 我觉得是方便对于任意的a[i] 取值的时候 都是等效于*(a+i)a是数组首地址,这样访问第一个元素 *(a+0) 就不需要任何偏移了。

c语言一维数组第一个元素下标一定是什么大神们帮帮忙

11楼:草原上的剑齿虎

题目应该是第一

个元素下标定义吧,数组第一个下标定义是0,举例:int a[3],第一个元素就是a[0]。int a[3][3],第一个元素就是a[0][0]。

int a[3][3][3]的第一个元素则是a[0][0][0],第一个元素的表达就是上面这样,依次类推。

12楼:匿名用户

c语言中,一维数组的第一个元素下标一定是0

c语言数组的下标

13楼:匿名用户

楼主你好。

注意a是常量,不要被别人误导了。

实际上a是数组名代表数组的首地址(注意虽然数组名和指针都代表地址,但是数组名不是指针,指针是变量,这个a是常量,可以叫指针常量)

而i实际上可以看做数组中的元素距离数组首地址的偏移量(距离)。*(a+i)就是取距离数组首元素距离为i的数组中元素的值,也就是a[i]了。也就是说*(a+i)==a[i].

希望能帮到你。

14楼:乐跑小子

第一:下标是用在数组中的;

第二:定义数组的是时候下标是代表数组的长度,比如 int a[5];就是定义一个长度为5的存放整型的数组,数组就是集合,数组a有5个元素,即a[0],a[1],a[2],a[3],a[4], 一共5个元素,此时下标就是第几个元素的意思。

例子如下:

int a[5] = ;

printf("%d,%d,%d,%d,%d", a[0],a[1],a[2],a[3],a[4]); //会输出1,2,3,4,5

a[0] = 10;

printf("%d", a[0]); //输出10

15楼:非常可爱

c语言中的下标是定义数组a和数组b[n],下标是用在数组中的;

a[1]和b[1]就是下标相同的一个元素,数组a[1]中的数满足条件的之后就做移位计算,是减小左移,右移增加;

例:inta[5]=;

printf(“%d,%d,%d,%d,%d”,a[0],a[1],a[2],a[3],a[4]);//会输出1,2,3,4,5

a[0]=10;

printf(“%d”,a[0]);//输出10;

扩展资料基本的算数运算符

(1)、+加法运算或正值运算符

4+4、+5

(2)、-减法运算或负值运算符

6-4、-10、-29

(3)、乘法运算

注意符号,不是x,而是;

(4)、/除法运算

注意符号,不是÷,也不是\,而是/;

整数除于整数,还是整数。1/2的值是0,这个并不是二分之一,不会四舍五入,直接截断取值;

(5)、%取余运算

取余:即两个整数相除之后的余数;

注意:%两侧只能是整数,正负性取决于%左侧的数值;

C语言中数组下标有下限吗,c语言中,数组元素的下标下限为

1楼 天云一号 c语言中数组的下标是根据用户定义的数组大小来确定的,最小下标为0 举例说明如下 int a 5 定义一个int型数组,并对其进行初始化。则共有a 0 a 1 a 2 a 3 a 4 这5个元素,所以其下标的范围为0 5 更一般的就是 数组a n 的下标范围为0 n 1 2楼 百度用户...

为什么中国是一夫一妻制,中国真正实行一夫一妻制是从什么时候开始的?

1楼 北京王嘉化妆学校 自然演变 人类从巢居到黄帝造宫室以后的屋居,逐步形成了家,在古代,由亲亲和尊尊及和此类似的关系组成的大的家族就是国的雏形,而近代社会的家却是国的一个基本生活单位,家庭的功能和作用和古代的有了很大的区别,而这一切都是很神奇地自然形成的,有了家以后才有了夫妇,有了夫妇以后才有了婚...