1楼:天云一号
c语言中数组的下标是根据用户定义的数组大小来确定的,最小下标为0.
举例说明如下:
inta[5]=;//定义一个int型数组,并对其进行初始化。则共有a[0]、a[1]、a[2]、a[3]、a[4]这5个元素,所以其下标的范围为0~5
更一般的就是
数组a[n]的下标范围为0~n-1
2楼:百度用户
看书遇到了数组下标的问题,在书上没找到答案,书上问,如果有是多少?望各位大哥大姐帮帮忙啊
4 在计算机二级c语言中 数组下标的下限为什么是0 ?
3楼:天云一号
因为c语言规定数组的下标都是从0开始的,所以其下限就是为0。
对于数组a[n],对应的下标范围为0~n-1,如:
int a[5]; // 数组a共有5个元素,分别为a[0]、a[1]、a[2]、a[3]、a[4]
4楼:匿名用户
没有为什么,就是这么定义的,计算机数组从0开始,只要记住就好~
5楼:匿名用户
0是代表数组的第一个元素, 每种语言都有自己的语法规则, 不是你想怎样就能怎样
6楼:刘三石
因为下标表示的是这个数据偏离第一个数据的位置,第一个数据偏离它本身零个位置,所以是零。
7楼:匿名用户
这是规则,就像你知道1+1=2一样
c语言中,数组元素的下标下限为
8楼:行了我
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。
9楼:帅小凡
是 65535,也就是你最大可以 int array[65536];
我亲自做过实验的,
如果你非要 int array[65537]的话,编译也不会出错,不过array[0]一定是等于array[65536]
10楼:天堂妹儿
一个数组单元的引用方法是数组加上方括号括起来的整数。用方括号括起来的整数是数组下标,数组下标从0开始,最大不能超过:数组长度-1。
数组下标可以是整型变量或整型表达式,但不能是浮点型的变量或浮点型表达式;并且下标不能大于:数组长度-1。因为超过部分没有被定义过,是不能正确使用的。
如果定义了“int s[6];”,s数组的六个元素的引用方式是s[0]、s[1]、s[2]、s[3]、s[4]和s[5]。
请问:c语言中,数组元素引用时下标的下限是什么?
11楼:匿名用户
下限是0
上限应该是long型的最大值,不过这个也不确定,各个编译器各个操作系统有不同的处理方法。
c语言数组的下标
12楼:匿名用户
楼主你好。
注意a是常量,不要被别人误导了。
实际上a是数组名代表数组的首地址(注意虽然数组名和指针都代表地址,但是数组名不是指针,指针是变量,这个a是常量,可以叫指针常量)
而i实际上可以看做数组中的元素距离数组首地址的偏移量(距离)。*(a+i)就是取距离数组首元素距离为i的数组中元素的值,也就是a[i]了。也就是说*(a+i)==a[i].
希望能帮到你。
13楼:乐跑小子
第一:下标是用在数组中的;
第二:定义数组的是时候下标是代表数组的长度,比如 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
14楼:非常可爱
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语言中数组元素的下标可不可以是数组元素,另外··
15楼:无声的硝烟
c语言程序运行时,数组的存在形式是内存中的一块连续地址空间。而访问数组元素时,计算机会将下标做为空间首地址的偏移量来进行寻址,所以当然可以是任何整形数。
比如int array[10],array的地址是0x7fffff00,那么在访问array[3]时,计算机是这样计算的:
每个整形数大小为4个字节,所以用array的地址加上3乘以4,得到0x7fffff0c,那么从0x7fffff0c到0x7fffff0f这4个字节的值就是array[3]的值。
所以无论传入的下标是什么,理论上都可以计算得到一个地址,但是这个地址不一定是有效的。如果地址无效,就会发生段错误(segmentation fault),也即数组越界/地址访问越界。现在的编译器会认为只要下标是个整型变量,就是可以的,但是执行的时候操作系统仍然会进行监测,否则会影响其他程序的运行。
比如说a = , b = ,那么b[a[3]] = b[5]=6,这个是可以允许的。
16楼:匿名用户
当然可以,只要能够被解释成整数的都可以
c语言中,数组元素的下标是从什么开始的
17楼:匿名用户
从0开始
比如a[100] 就是0-99的下标
18楼:大狂哥灬
比如说a【4】是从下标0开始到3结束
a【n】就是从0开始到n-1结束
c语言中数组的下标和定义数组的长度有什么区别呢?
19楼:匿名用户
长度和下标不同的就是:长度是从第一位开始计算的就是1。长度为50的话直接n=50 下标:是从0开始的,如果50位的话n=49
20楼:匿名用户
数值下标就是数值长度的值,数组下标的作用就是可以轮番调用数组内每一位元素,数组下标从0开始有效
21楼:匿名用户
嗯!楼上两位说的都对,选我吧、
c语言中数组下标最大为多少
22楼:匿名用户
数组下标最大为数组个数减一,例如定义:int a[5];则数组a的下标最大为4;
因为在c语言中数组的下标是从0开始的,这样从0到数组个数减一,共数组的总个数。
例如:#include
intmain()
/*运行结果:
12345
12345*/
23楼:匿名用户
额、、、、
没有那么多的吧内存吧
比如说int a[5] 他的意思是 在内存中连续分配5个整形变量的空间
在vc中 int是4个字节(内存大小)
一般计算机的内存是2g吧 也是一定的。
谁像你那么狠得,吧内存全拿来开辟数组的空间了连函数都没办法运行了。
24楼:
取决于你的内存大小 以及 你的数组类型
对于不同的数组类型其元素占的内存大小是不同的,比如字符数组、结构体数组、指针数组……
只要内存装的下就行
25楼:匿名用户
看内存喽,比如int型 每个a[i]占4个字节,如果下标太大,就无法再内存中申请足够的空间
26楼:心云细雨
a[n] 数组a有n个元素,下标从0 开始,最大值是n-1