您的位置:首页 > 其它

一维数组的初始化问题(函数体内与函数体外)

2017-11-19 09:10 211 查看
数组元素初始化时,若没有显式提供幸元素的值,则元素会被像普通变量一样初始化:

函数体外定义的内置类型数组(即内置类型的全局数组),元素初始化为0;

函数体内定义的内置类型数组,元素无初始化(注意,若只初始化部分元素,其后的元素此时也会被初始化为0);

如果不是内置类型,则不管其在哪定义,自动调用其默认构造函数为其初始化,若该类型无默认构造函数则会报错。

下面针对1和2的不同给出具体例子:

1.对条件1给出的例子,此时输出的a[0]为0,初始化为了0

#include <iostream>
using namespace std;

int a[6];//数组a定义在主函数外

int main(){
cout << a[0] << endl;
return 0;
}


2.对条件2给出的例子,此时输出的a[0]为一个未初始化的值

#include <iostream>
using namespace std;

int main(){
int a[6];//数组a定义在主函数内
cout << a[0] << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: