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