问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于c语言数组的方括号中能不能使用变量的问题。

发布网友 发布时间:2022-04-29 09:12

我来回答

5个回答

热心网友 时间:2022-06-25 07:13

方括号里必须是一个大于零的整数常量或者常量表达式。

常量表达式(const experssion):是指值不会改变 并且在编译过程就能得到计算结果的表达式。字面量属于常量表达式,用常量表达式初始化的const对象也是常量表达式。

一个对象(或表达式)是不是常量表达式由它的数据类型和初始值共同决定。

const int a =1;//常量表达式

cosnt int b=a+1;//常量表达式

int c=2;//初始值是字面值常量,当c数据类型是普通int。

扩展资料:

1.数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。

2.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。

3.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;(请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。)

4.若不给可初始化的数组赋初值,则全部元素均为0值。

参考资料:

百度百科-数组

热心网友 时间:2022-06-25 07:14

方括号里必须是一个大于零的整数常量或者常量表达式。

常量表达式(const experssion):是指值不会改变 并且在编译过程就能得到计算结果的表达式。字面量属于常量表达式,用常量表达式初始化的const对象也是常量表达式。

一个对象(或表达式)是不是常量表达式由它的数据类型和初始值共同决定。

const int a =1; //常量表达式

cosnt int b=a+1; //常量表达式

int c=2; //初始值是字面值常量,当c数据类型是普通int。

扩展资料:

数组的方括号[]有以下使用情况:

1、定义

当用于定义时,数组方括号[]中的是数组含有的元素个数,即定义了数组的规模,这种情况下,按照ANSI C的标准,是不可以用变量的。

2、取值

当取数组a的第n个元素值时,可以使用a[n]的方式。

这种取值操作的情况下,是可以使用变量的,不过其中的变量只能为整型系列的类型,比如char, short, int, long等,或者对应的无符号类型。

参考资料来源:百度百科-数组

热心网友 时间:2022-06-25 07:14

数组的方括号[]有两种使用情况。
1 定义。
当用于定义时,数组方括号[]中的是数组含有的元素个数,即定义了数组的规模。
这种情况下,按照ANSI C的标准,是不可以用变量的。
不过目前有些编译器支持了C99及以上规范,在C99下,C语言数组定义时可以使用变量。
至于编译器是否支持,定义一个以变量为规模的数组,编译一下,如果能通过,那么就是支持的,反之则是不支持。
由于并不是所有编译器支持,这样的代码就不易于移植,所以不推荐使用这种写法。如果一定需要用动态值,可以采用动态数组的方式。

2 取值。
当取数组a的第n个元素值时,可以使用a[n]的方式。
这种取值操作的情况下,是可以使用变量的。对此,任意版本的C语言都没有做*。
不过其中的变量只能为整型系列的类型,比如char, short, int, long等,或者对应的无符号类型。

热心网友 时间:2022-06-25 07:15

int a[n],是在定义一个数组,而数组的长度为n,n是一个变量,这在c语言是不允许,c语言不支持定义变长数组,因为在编译的时候,系统无法知道数组的长度是多少,也就无法为这个数组分配一个空间。
解决的方法有:
1、
#define N 5
int main()
{
int a[N];
...
return 0;
}
2、
#include<stdlib.h>
int main()
{
int n,*a;
n=5;
a=(int *) malloc(sizeof(int)*n);//动态申请一段空间,但是需要自己管理,就是说在程序结束前
//把这段内存释放掉,否则这段内存就无法被操作系统使用,就会变为垃圾,而且无法清除
...
free(a);//释放a所指的内存空间
return 0;
}

热心网友 时间:2022-06-25 07:15

其实C语言的较新版本标准是支持

int n=5;
int a[n];

的用法的,只是VC一直只支持旧版本的标准而已……

不过对于这个问题,原因不是这个。int a[n];是对象声明,a[i++]=i;是表达式中的运算,二者是完全不同的东西……

关于c语言数组的方括号中能不能使用变量的问题。

方括号里必须是一个大于零的整数常量或者常量表达式。常量表达式(const experssion):是指值不会改变 并且在编译过程就能得到计算结果的表达式。字面量属于常量表达式,用常量表达式初始化的const对象也是常量表达式。一个对象(或表达式)是不是常量表达式由它的数据类型和初始值共同决定。const int a =1;...

关于c语言数组的方括号中能不能使用变量的问题。

方括号里必须是一个大于零的整数常量或者常量表达式。常量表达式(const experssion):是指值不会改变 并且在编译过程就能得到计算结果的表达式。字面量属于常量表达式,用常量表达式初始化的const对象也是常量表达式。一个对象(或表达式)是不是常量表达式由它的数据类型和初始值共同决定。const int a =1;...

方括号是什么意思c语言

除了用于表示数组下标和指针解引用操作外,方括号在C语言中还有其他用途。可以在方括号内部使用表达式或变量,以达到动态计算下标的效果。这在使用二维数组时非常方便。例如,可以使用a[i][j]来访问一个双重循环数组中的元素,其中i和j是循环变量,每次迭代时动态计算下标。此外,方括号还可以用于声明函数...

C语言中如何定义数组

是合法的。但是下述说明方式是错误的。6) 允许在同一个类型说明中,说明多个数组和多个变量。例如:

C语言中数组长度不能用变量定义吗?

C语言里,所有变量空间都是在程序运行之初向系统申请的,包括指针,除了一些动态申请方式如malloc函数。没有申请的空间系统是不允许读写的。那么如果一个数组大小是变量定义,则在程序运行前不能确定数组大小,也就无法申请,故不允许。所以,解决的办法便是通过malloc函数,即 int a[n];可改为 int* ...

c语言数组名后面那个中括号[ ]里可不可以是表达式?为什么

“[]”中间必须是整形常量或整形常量表达式。数组定义时,必须指定数组的大小,数组大小必须是整形常量表达式,不能是变量或者变量表达式 错误例子:int n=10; int a[n]; int b[10.3]; int c[n+10];

冒泡排序 error C2057: 应输入常量表达式

在C语言中使用数组必须先进行定义。一维数组的定义方式为:类型说明符 数组名 [常量表达式];其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。注意:不能在方括号中用变量来表示元素的个数,但是可以是...

C语言中一维数组正确的定义

可以是常量或符号常量,不能为变量。例如:1、int x[8]; 表示定义一个整型数组x,数组长度为8.2、float a[8],b[10];表示定义一个实型数组b,数组长度为8,一个实型数组c,数组长度为10 3、 ch[15]; 表示定义一个字符数组ch,数组长度为15。

C语言问题(在线等)

5.不能在方括号中用变量来表示元素的个数, 但是可以是符号常数或常量表达式。例如:define FD 5 void main(){ int a[3 2],b[7 FD];……} 是合法的。但是下述说明方式是错误的。void main(){ int n=5;int a[n];……} 6.允许在同一个类型说明中,说明多个数组和多个变量。例如: int...

c语言中定义数组大括号内必须要有数字吗 还有这个例题对吗

定义数组时大括号内,是可以没有数字的。你的问题,从错误的是定义时紧跟在变量名a后面的第一个括号。

c语言变量数组 c语言定义变量数组 c语言数组元素可以是变量吗 c语言 数组定义不能0 c语言数组做函数参数 c语言中数组的定义 c语言不能作为变量名 数组的序号可以是变量吗 c语言定义常量数组
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
131碘治疗甲亢的常见问题解答 ...和吃完碘131以后,生活和饮食方面都应该注意什么,怎样做能不让病情... 为什么上学的时候关系那么好,出去以后就渐行渐远呢 如皋如皋名片 江苏如皋的"3张名片"是什么? 如皋花木盆景如派盆景 刘作为百家姓中一大姓,历史名人中有哪些姓刘的 城中村宽带安装遇到哪些问题? 城中村单宽带是什么意思? 城中村50元2m宽带怎么样的? 阴阳师华为兑换码怎么使用 阴阳师礼包码怎么领取 php 框架中 数组的变量 高手求解 谢谢 ipad上阴阳师没有兑换码灯笼,肿么兑换? 数组元素可不可以看做一个变量 阴阳师肯德基闪卡兑换方法 阴阳师肯德基闪卡怎么用 建立一个数组,包括变量名和它们的值? 阴阳师手游ios兑换码能用吗 ios礼包兑换方法 数组与普通变量的区别 华为市场阴阳师兑换码怎么抽 数组变量在未赋值前各个元素的初值是 如何在vb中定义数组变量? 最新版阴阳师手游哪里输入兑换码? 数组变量的介绍 阴阳师兑换码在哪里用? 请问一下数组变量和数组元素有什么区别啊? 阴阳师交易猫礼包兑换码怎么用 c中数组内的元素怎么定义成变量求大佬解惑 阴阳师兑换码怎么用?是多少?具体点(^V^)蟹蟹 C语言 如何定义数组形式的变量 怎么在阴阳师里ios使用兑换码 阴阳师手游双平台不能用礼包兑换码吗 在易语言里怎样让数组变量里的所有变量都给它们赋上一样的值?帮帮忙... 阴阳师网易的礼包总换码是什么? 如何将变量存储到数组里面? 阴阳师新区集结期间,买了一只ssr,卖家以兑换码的形式送给我,这样会被网易封号嘛? 如何将数组定义成全局变量 梦见大白蛇被困在铁笼里它很安静像是在睡觉,有个黑衣男子在跟我说话,然后我就醒了,这是什么寓意 昨晚梦见一条白蛇被关在笼子里,感觉像是自己把蛇养在笼子里,笼子里蛇很凶猛,不知怎么的从铁笼里出来直 梦见一条大白蛇,在笼子里,很温顺,我还给他喂食。我是做生意的。请高人指点什么意思 梦见笼子里关着一条蛇 但是蛇它一动不动不出来什么意思? 梦见一条白蛇在包里,使劲按也按不住爬出来咬我 梦见有人在笼子里养了很多黑蛇白蛇 梦见白蛇被关在一个笼子里,然后就去放了白蛇 梦见2条白蛇和一条青蛇是关在笼子里什么预兆 梦见女儿是条小白蛇,受伤了,被困笼子里了? 梦见两条蛇关在笼子里 新买的毛衣,洗了一次就缩水了,有什么补救的办法吗? 毛衣缩水了怎么恢复??! 求助新买的毛衣用洗衣机洗缩水了怎么破 纯毛毛衣缩水了,怎么能恢复原样?