天天看点

【C 语言】数组 ( 数组本质 | 数组长度定义 | 数组初始化 | 编译时初始化 | 显式初始化 - 重置内存 )

文章目录

  • 一、数组本质
  • 二、数组长度定义
  • 三、数组初始化
  • 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));