一.一维数组的创建
1.数组的基本形式

2.变长数组
- C99中引入了变长数组的概念
- 变长数组支持数组的大小使用变量来指定,但是变长数组不能初始化
- 变长数组不是数组的长度可以变化
例:
1. int n=0;
2. scanf("%d",&n);
3. int arr[n];支持C99标准的编译器环境下能编译
3.数组的初始化
数组可以不给定范围,但是一定要初始化!
初始化分为完全初始化,不完全初始化(除了初始化的元素,其余默认为0)
int arr1[2]={1,1};完全初始化
int arr2[10]={1}不完全初始化,第一个元素初始化为1,其余剩下都为0
二.数组的本质
例:

区别:

三.一维数组的使用
1.访问数组成员
- 数组是使用下标(下标引用操作符)来访问的,下标从0开始
- 数组的下标总是比个数小一位
例:

2.计算数组的大小

四.一维数组在内存中的存储
- 一维数组在内存中的存储是连续存放的
- 随着数组下标的增长,地址也是从低到高变化的

- 每一个内存单元大小就是一个字节(byte),即(int占4个内存单元)
图示:

五.二维数组
1.二维数组的形式

2.二维数组的初始化规则

int arr[3][4]={{1,2},{4,5}};

- 二维数组,行有几个可以不知道,列有几个必须知道
-

六.二维数组的使用
图示:

1.打印二维数组
七、二维数组在内存中的存储

PS:引申用法:当把每行当作一维数组时,数组名可视作行名

图示:
