C语言
声明
int a[5];
初始化
int a[2]={1,2};
在C语言中未经初始化的数组是不可使用的,各个元素的值是不固定的(ps:这里说的数组属于自动存储类,在其他的存储类如:staic里面就会对数组赋初始值)。也可以使用for循环来初始化数组。
在C99中增加了一种指定初始化项目的新属性,此特性允许选择对某些元素进行初始化:
int a[2]={[1]=0};//把a[1]初始化为0
对于一些只读数组可以使用常量数组
const int a[2]={1,2};
C++
显式初始化
int a[2]={1,2};
int a[]={1,2};
如果维数大于列出元素的初始值则只初始化前面的数组元素,剩下的内置类型则初始化为0,类类型调用默认的构造函数。在C++中不允许将一个数组赋值给另一个数组的(ps:一些编译器允许,但是这就限制了可移植性)。
Java
创建并初始化数组
1.完整模式
double[] a;//声明数组
a=new double[N];//创建数组
for(int i=0;i<N;i++)//初始化数组
a[i]=0.0;
2.简化写法
double[] a=new double[N];
3.声明初始化
double []a={0.0,0.0,0.0,0.0};
在Java中double默认初始值为0.0,int是默认是0,布尔值默认为FALSE
注意:
int a[2]={1,2};
int b[2]=a;
这样的b只是a的别名,它们操作的是同一个数组。这个原理也适用于函数传参。