标题:数组初始化和赋值为什么不一样?
只看楼主
twist
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-12-30
结帖率:0
已结贴  问题点数:20 回复次数:1 
数组初始化和赋值为什么不一样?
int a[5] = {1, 2, 3, 4, 5};
数组定义的时候初始化可以一次赋值给所有元素;
但是定义完毕之后
只能一个一个赋值
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
a[4] = 5;

为什么定义的时候可以给所有元素赋初值?而定义完之后只能一个一个元素赋值了。
搜索更多相关主题的帖子: 元素 
2016-01-09 10:52
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
得分:20 
简单来说:初始化是你指令编译器处理变量初始值,仅执行一次,而赋值是你的代码主动改变变量值,可任意次。
在静态变量初始化很容易看到区别,因为这些初始值直接写在你定义的静态变量区了,一般在exe文件的开头,很容易找到。函数里的变量初始化,编译器就使用固定的指令在定义的变量位置压入指定值,类似于拷贝一次一个常量数据进变量。

能编个毛线衣吗?
2016-01-09 11:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-460955-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.525247 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved