本教程操作环境:windows7系统、c99版本、Dell G3电脑。
C语言数组初始化的三种方式
1、在定义时直接赋值
int arr1[3] = {0};
使用 {0} 的方式最简洁,一般在定义的时候使用。
2、for 循环初始化
立即学习“C语言免费学习笔记(深入)”;
int arr2[3];
for (int i = 0; i < 3; i++) {
arr2[i] = i;
}
使用 for 循环的好处是:可以将每个元素设为不同的值。
3、memset 函数
memset 函数声明为:
void *memset(void *str, int c, size_t n)
将 str 中当前位置后面的 n 个字节 (typedef unsigned int size_t )用 c 替换并返回 str 。
int arr3[3];memset(arr3, 0, sizeof(int) * 3);
memset 一般使用“0”初始化内存单元,通常是给数组或结构体进行初始化,或清空数组或结构体。
一般如 char、int、float、double 等类型的变量直接初始化即可,如果用 memset 的话反而显得麻烦。
三种方式的示例代码如下:

需要注意的是:memset函数按字节对内存块进行初始化,所以不能用它将 int 数组初始化为 0 和 -1 之外的其他值。
memset 赋值为 -1 或 0,最后的结果是正确的:


但使用memset赋值为-1和0以外的值,最终的结果并不是期望值。比如赋值为1,则如下图所示:

因为 memset 是对每个字节进行赋值的,已知一个 int 为4字节,那么 memset 赋值时为二进制则为:
00000001 00000001 00000001 00000001 = 16843009
【相关推荐:C语言视频教程、编程教学】
编辑推荐:
- c语言数组如何初始化02-21
- c语言标识符有哪些类型02-21
- c语言的换行符号是什么02-21
- win10有几个版本?win10各版本的区别在哪02-21
- c语言排序方法有哪几种02-21
- c语言怎么计算n的阶乘02-21
- c语言怎么获取数组长度02-21
- Win10如何解决主页被拦截?02-21
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- c语言数组如何初始化
c语言数组如何初始化
26-02-21 - c语言的换行符号是什么
c语言的换行符号是什么
26-02-21 - win10有几个版本?win10各版本的区别在哪
win10有几个版本?win10各版本的区别在哪
26-02-21 - c语言排序方法有哪几种
c语言排序方法有哪几种
26-02-21 - c语言怎么获取数组长度
c语言怎么获取数组长度
26-02-21 - Win10如何解决主页被拦截?
Win10如何解决主页被拦截?
26-02-21 - c语言怎么将数字转换成字符串
c语言怎么将数字转换成字符串
26-02-21 - Win10当前主题壁纸在哪个文件夹?
Win10当前主题壁纸在哪个文件夹?
26-02-21 - Win10电脑关机太慢怎么办?Win10电脑快速关机方法教程
Win10电脑关机太慢怎么办?Win10电脑快速关机方法教程
26-02-21 - C++类型如何进行转换
C++类型如何进行转换
26-02-21
