专业编程基础技术教程

网站首页 > 基础教程 正文

C/C++语言编程系列002——不同情况下数组的初始化方法

ccvgpt 2024-10-10 05:03:47 基础教程 53 ℃

在C/C++语言中,对于一维数组的初始化,主要有以下几种情况,下面分别介绍。

在数组定义时进行初始化的情况

如:

C/C++语言编程系列002——不同情况下数组的初始化方法

double a[5] = {1.2, 2.3, 3.4, 4.5, 5.6};

注意:在这种情况下,如果给的数组初始值的个数小于数组的大小,其余的值则自动为0。

将数组元素值全部初始化为0时的情况

如:

double b[5] = {0}

也可以写为:

double c[5];

memset(c, 0, sizeof(double)*5);

用一个已有的数组初始化当前数组的情况

如用上面数组a的值初始化数组d:

double d[5];

此时,可以有两种实现方法:

for(int i=0; i<5; i++)

{

d[i] = a[i];

}

还有一种更为简单的实现方法,使用memcpy函数实现:

memcpy(d, a, sizeof(double)*5);

对于上面三种情况的数组初始化,完整的测试代码如下:

运行结果如下:

需要说明的是,在memset和memcpy函数中,获得数组的字节大小时,使用的是sizeof(double)*5,即数组中每个元素的数据类型占的字节*元素的个数,也可以直接使用sizeof(a)来获得,即直接用sizeof函数求数组所占的字节数。

上面列出了数组的三种初始化情况,大家也可以关注并在评论区积极讨论是否还有其它的方法。

最近发表
标签列表