假如在局部声明了一个整型数组,但没赋值就直接输出,那么输出的值是多少?
#include<iostream>
using namespace std;
int main(){
int a[10];
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
return 0;
}
结果为
发现是一堆毫无意义的值,称为机器垃圾值。
假如仅仅赋值一部分:
#include<iostream>
using namespace std;
int main(){
int a[10]={5};
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
return 0;
}
发现会自动将剩下的部分赋值为0。
因此假如想将数组全部赋值为0,只需要:
#include<iostream>
using namespace std;
int main(){
int a[10]={0};
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
return 0;
}
如果声明了一个全局的整型数组,我们输出一下看看结果:
#include<iostream>
using namespace std;
int a[10];
int main(){
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
return 0;
}
全部是0。
可见声明全局数组后,即便不赋值,也会默认将所有值都赋值为0。
这就给我们一个思路,在编程时声明全局数组不需要初始化,默认数组元素全部为0。