关于C、C++、Java中数组的使用

来源:互联网 发布:师洋淘宝店 编辑:程序博客网 时间:2024/05/30 23:02

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的别名,它们操作的是同一个数组。这个原理也适用于函数传参。



1 0
原创粉丝点击