文章目录
- 一、数组本质
- 二、数组长度定义
- 三、数组初始化
- 1、编译时初始化
- 2、显式初始化 ( 重置内存 )
一、数组本质
数组本质 :
- 类型角度 : 从 数组元素 类型角度分析 , 数组是 相同类型 变量的 有序集合 ;
- 内存角度 : 从 内存角度 分析 , 数组 是 一块连续的 内存空间 ;
数组变量 占用的 内存大小 , 就是 数组本身的内存大小 ; 指针变量 占用的 内存大小 只有
4
4
4 字节 ;
二、数组长度定义
数组长度定义 :
- 显示指定数组长度 : 数组定义时 , 在 [] 中显示指定数组长度 ;
int array[3];
- 隐式指定数组长度 : 数组定义时 , 在 [] 中不指定数组长度 , 在后面的初始化的数组值中 , 初始化的元素个数就是数组的长度 ;
int array[] = {1, 2, 3};
三、数组初始化
1、编译时初始化
下面的操作 , 在编译时 , 就确定了 数组 初始化值 ;
隐式指定长度 , 顺便初始化 , 数组长度
3
3
3 , 初始化
3
3
3 个数组元素 ;
int array[] = {1, 2, 3};
显示指定长度 , 数组中有
3
3
3 个元素 , 为
3
3
3 个元素都指定初始值 ;
int array[3] = {1, 2, 3}
显示指定长度 , 数组中有
3
3
3 个元素 , 仅为第一个数组元素指定了 1 初始值 , 第
2
,
3
2,3
2,3 个元素默认为 0 值 ;
int array[3] = {1}
显示指定长度 , 数组中有
3
3
3 个元素 ,
3
3
3 个元素 , 都默认指定为 0 值 ;
int array[3] = {0}
2、显式初始化 ( 重置内存 )
int array[3] = {0};
memset(array, 0, sizeof(array));