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

2023-03-29 21:38:12 浏览数 (1)

文章目录

  • 一、数组本质
  • 二、数组长度定义
  • 三、数组初始化
    • 1、编译时初始化
    • 2、显式初始化 ( 重置内存 )

一、数组本质


数组本质 :

  • 类型角度 : 从 数组元素 类型角度分析 , 数组是 相同类型 变量的 有序集合 ;
  • 内存角度 : 从 内存角度 分析 , 数组 是 一块连续的 内存空间 ;

数组变量 占用的 内存大小 , 就是 数组本身的内存大小 ; 指针变量 占用的 内存大小 只有

4

字节 ;

二、数组长度定义


数组长度定义 :

  • 显示指定数组长度 : 数组定义时 , 在 [] 中显示指定数组长度 ;
代码语言:javascript复制
int array[3];
  • 隐式指定数组长度 : 数组定义时 , 在 [] 中不指定数组长度 , 在后面的初始化的数组值中 , 初始化的元素个数就是数组的长度 ;
代码语言:javascript复制
int array[] = {1, 2, 3};

三、数组初始化


1、编译时初始化

下面的操作 , 在编译时 , 就确定了 数组 初始化值 ;

隐式指定长度 , 顺便初始化 , 数组长度

3

, 初始化

3

个数组元素 ;

代码语言:javascript复制
int array[] = {1, 2, 3};

显示指定长度 , 数组中有

3

个元素 , 为

3

个元素都指定初始值 ;

代码语言:javascript复制
int array[3] = {1, 2, 3}

显示指定长度 , 数组中有

3

个元素 , 仅为第一个数组元素指定了 1 初始值 , 第

2,3

个元素默认为 0 值 ;

代码语言:javascript复制
int array[3] = {1}

显示指定长度 , 数组中有

3

个元素 ,

3

个元素 , 都默认指定为 0 值 ;

代码语言:javascript复制
int array[3] = {0}

2、显式初始化 ( 重置内存 )

使用 memset 函数 , 显示初始化 数组 内存空间 ;

代码语言:javascript复制
int array[3] = {0};
memset(array, 0, sizeof(array));

0 人点赞