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

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

发布网友 发布时间:2023-05-04 11:24

我来回答

5个回答

热心网友 时间:2023-10-28 16:42

“[]”中间必须是整形常量或整形常量表达式。
数组定义时,必须指定数组的大小,数组大小必须是整形常量表达式,不能是变量或者变量表达式

错误例子:int n=10; int a[n]; int b[10.3]; int c[n+10];

热心网友 时间:2023-10-28 16:42

可以,但是要注意一点,
这个表达式返回值一定要是正整数或者零
其他的都是错误的

给你举个例子吧
如求一个数字字符串中数字出现的频率
char a[100];
int b[10]={0};//计数数字出现的次数
int i=0;
gets(a); //输入数字,否则有可能出错,因为b的下标超过9
while(a[i])
b[a[i++]-'0']++; //这里a和b的下标都是表达式

a的下标是i++,是正整数或零
b的下标是a[i++]-'0'是a[i]中的数字的ascii码值减去0的ascii码值,是0~9

热心网友 时间:2023-10-28 16:43

我觉得数组的【】括号中的一定是常量,否则在编译器无法设置内存空间。所以可以是表达式,但是应该是常量表达式,不能是变量。

热心网友 时间:2023-10-28 16:44

数组必须先分配内存空间才能使用,所以初始化的时候不能是表达式,但是却可以这样用:
int a[11]; for(int i = 10; i>5; i--) a[i-5] = 1;

热心网友 时间:2023-10-28 16:44

可以是返回值为正整数的表达式
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苏打地牢500层boss怎么打 苏打地牢500层boss打法攻略 隐形眼镜用水龙头水泡着可以么 ...还有些痒痒的 越来越多的趋势 请问这是什么原因引起的 长安univ智电idd改无线充怎么改的 山药泥火龙果的做法 铜合金好还是纯铜好 铜合金和铜哪个好 合金为什么比铜要好 合金和铜哪个好 音乐风格要素主要包括 c语言中 char str[10][10]; 这里两个中括号中的数字分别是什么意思? 化学反应呈阴性,是反应了还是没反应 怎么祝大哥生日快乐 东北话大人说小孩“作”和“磨”,这两个字分别是什么意思呢?这两个字的意思有什么区别呢? 伤残9级严重吗? 轴承内环上的一字标记是么意思 常见滚动轴承画法及标注? 车祸伤残9级与10级的区别 我又一条黄金的项链 上面写着 千足金 和FDF 也可能是FDR。。 梦见猴面花的预兆 西德犬耳朵上字母ceh什么意思 化学小问题 混合后溶质不是只有nax吗 为什么还有 hx 心室间隔的功能是什么? 高二化学,如何判断HX为强酸还是弱酸? 氢化物中什么时候书写为HX,什么时候书写为XH? 暴风电视机升级后,出现用户认证失败是什么意思? hx与格氏试剂发生反应吗 耳塞上的英文字母 L和R是什么意思 买房的人真那么多吗?“房托”出没请擦亮眼 如何模仿《社戏》的景物描写? 化学 医学 或是生理学中做的很多实验中,结果中有显阳性和阴性之说,请问什么叫阴性和阳性呢? 什么是无烟医院 什么是室间隔缺损 什么是心脏室间隔破损 女人必看 好老公面相分析? 人生何谓开心 饭后一根烟活似像神仙 是什么意思 梦见宝贝头发变密了的预兆 室间隔稍厚是什么意思 求一份静态网页设计 关于爱情的:爱情像二手烟只不过熏红了眼 其他应收款个人社保在借方什么意思 人生何谓快乐?定义是什么? 梦见梦中一颗桃花树 男人什么面相是个好丈夫 常规细胞化学染色阴性是什么意思 男朋友说合伙买房是什么意思? 什么面相男人会是好老公 适合做老公的男人面相? 男人听话什么意思啊? 有多少英雄本色是什么歌