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

2020-11-20 05:39:44 字数 5175 阅读 8812

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