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

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 语言数组 ( 数组本质 | 数组长度定义 | 数组初始化 | 编译时初始化 | 显式初始化 - 重置内存 )相关的知识,希望对你有一定的参考价值。





一、数组本质



数组本质 :

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

数组变量 占用的 内存大小 , 就是 数组本身的内存大小 ; 指针变量 占用的 内存大小 只有 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、显式初始化 ( 重置内存 )


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

int array[3] = 0;
memset(array, 0, sizeof(array));

以上是关于C 语言数组 ( 数组本质 | 数组长度定义 | 数组初始化 | 编译时初始化 | 显式初始化 - 重置内存 )的主要内容,如果未能解决你的问题,请参考以下文章

怎么用C语言定义一个无限长的数组?

C语言中如何定义一个二维数组,数组长度由输入值确定?

c语言中如何自定义数组长度

C语言中,对于不知道长度的数组怎样输入。。。

C语言中,对于不知道长度的数组怎样输入。。。

C语言 字符数组在定义时实际长度能不能等于有效长度 不给\0留空间