一、 局部变量数组
1、只声明,不赋值:
#include<iostream>
using namespace std;
int main()
{
int m[5];
int* n=new int[5];
for(int i=0;i<5;i++)
{
cout<<m[i]<<" ";
}
cout<<endl;
for(int i=0;i<5;i++)
{
cout<<n[i]<<" ";
}
return 0;
}
无论int a[5]方式,还是int* a=new int[5]方式,编译器都不会给数组自动设置初值,即不会出现默认初值为0的情况。
2、声明时部分赋值:
#include<iostream>
using namespace std;
int main()
{
int m[5]={3};
for(int i=0;i<5;i++)
{
cout<<m[i]<<" ";
}
return 0;
}
剩余数组元素默认赋为0。
二、全局变量数组
#include<iostream>
using namespace std;
int m[5];
int* n=new int[5];
int main()
{
for(int i=0;i<5;i++)
{
cout<<m[i]<<" ";
}
cout<<endl;
for(int i=0;i<5;i++)
{
cout<<n[i]<<" ";
}
return 0;
}
全局变量,动态申请方式与静态分配方式不同。静态分配方式会默认赋初值为0。