网站首页 > 基础教程 正文
在C/C++语言中,对于一维数组的初始化,主要有以下几种情况,下面分别介绍。
在数组定义时进行初始化的情况
如:
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函数求数组所占的字节数。
上面列出了数组的三种初始化情况,大家也可以关注并在评论区积极讨论是否还有其它的方法。
猜你喜欢
- 2024-10-10 C++系列1-1:初探C++ c=2μf
- 2024-10-10 浅谈C++11(第9篇 可变参数模板) c++可变参数模板类
- 2024-10-10 数组的初始化方式有哪几种? 数组的初始化是什么意思
- 2024-10-10 c++对于内建类型的默认初始化 创建内部类的对象
- 2024-10-10 C++类构造函数,如何初始化对象?linux C++第27讲
- 2024-10-10 【C++编程语言】之 类和对象——对象的初始和消除
- 2024-10-10 C++基础语法梳理:引用、封装、继承和多态
- 2024-10-10 C++核心准则?:按照成员声明的顺序定义和初始化成员变量
- 2024-10-10 C++核心准则C.47:按照成员变量声明的次序定义和初始化数据成员
- 2024-10-10 c++面试常见问题汇总—建议收藏 c++面试题总结
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)