永发信息网

(1)int n=10; int a[n]; (2) void func(int n) { int a[n]; } 为什么这么做可以?

答案:2  悬赏:0  手机版
解决时间 2021-03-27 03:50
(1)int n=10; int a[n]; (2) void func(int n) { int a[n]; } 为什么这么做可以?
最佳答案
初始化数组需要指定长度
(1)中a[n]的n已经定义为10,所以a的长度为10
(2)中a[n]的长度n由函数func的传入参数n获得.使用的时候比如,func(10),此时a的长度就是10,如果func(20),a的长度就是20.追问参考《C++primer中文第四版》96页:
const unsigned buf_size=512, max_files=20;
int staff_size=27;
...
double salaries[staff_size]; // error: non const variable
double data[buf_size]; //ok: const variable
在这里,说明只能用const变量来定义数组的维数。
按照这种说法,我上面的a[n]定义就都是非法的了,奈何程序可以正常编译运行呢?追答const修饰的变量在程序中无法修改.
定义数组的时候;
double salaries[staff_size]; 相当于double salaries[27];

double data[buf_size]; 相当于double data[512];
他可能意思是const必须事先赋值,所以在定义数组时不会出错,但是非const变量初始化的时候可以不赋值,可能会造成错误.
全部回答
怎么做?说具体点?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
笔记本电脑1200pIPS屏比1080p高清屏好很多吗
请问太阳时角的计算公式是什么?
海南籍华侨华人主要在哪里
为什么老师要用红笔改作业?
我要冤罪动漫OVA啊啊
在人们的印象中,孔子是一位浓眉长髯的老者,
周易住宾馆时在床头柜用钱币摆北斗七星图能避
方舟生存进化什么龙厉害 最强恐龙驯化推荐
少说话,多倾听。因为爱说话的人,本就失去了
日本手办的价格一般是多少?去秋叶原的话能找
我酝酿睡意都得酝酿老半天是什么意思
自己买了车载充气泵,打多少气才对
FX烫染地址在什么地方,想过去办事,
倒背如什么的成语
win7家庭版系统无线网络图标不见了怎么办?急
推荐资讯
大四的还能关注江财移动门户吗
YJLV22-8.7/15-3*70 是铜还是铝电缆??
为什么现在做服装个个都说难做,可还是为什么
去山村小学支教应该教些什么呢?
逻辑代数AB(BC+A)= 和Ab(BC+AC)=什么怎么计算
《宋史》记载:“会元昊请臣,朝廷亦以厌兵,
S925银镶嵌的和田玉,买成1380,帮我鉴定一下
做牛蛙要去皮吗
幼儿的阅读方法有哪些
南京御匾国健生物科技公司属于传销吗?
首次发现蛇琥珀具体什么结果
吴尊到底是哪个国家的人
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?