数组
- [X] 一维数组
- [X] 二维数组
部分MD效果无法显示- -
C语言学习笔记(数组) - Muxxs学习世界note.muxxs.com一维数组
定义一维数组
类型说明符 数组名[常量表达式]
注意此处必须为常量,不可 为变量
Example:
int a[10];
定义了数组a后,在内存中画出一片 连续的 存储空间。
a[0] ~~ a[9]
引用一维数组
数组名[下标]
Example:
int a[10];
t=a[6];
一维数组初始化
- 对全部数组元素赋值
Example:
int a[5]={1,2,3,4,5}
- 只给一部分元素赋值
Example:
int a[10]={1,2,3,4}
->前四个为指定值,其他所有元素都为0
- 赋值全部为0
Example:
int a[10]=0
->所有元素都为0
- 不指定长度赋值
Example:
int a[]={1,2,3,4,5}
<-> int a[5]={1,2,3,4,5}
以上两种是等价的
二维数组
定义二维数组
类型说明符 数组名[常量表达式][常量表达式]
Example:
float pay[3][4];
类比一维常量,注意此处依然必须为常量,不可 为变量
此时结构为:
| | | | | | | ---- | --- | ------- | ------- | ------- | | a[0] | -> | a[0][1] | a[0][2] | a[0][3] | | a[1] | -> | a[1][1] | a[1][2] | a[1][3] | | a[2] | -> | a[2][1] | a[2][2] | a[2][3] |
内存结构: | 自上而下 | |--------| |a[0][0] | |a[0][1] | |a[0][2] | |a[1][0] | |a[1][1] | |a[1][2] | |a[2][0] | |a[2][1] | |a[2][2] |
### 引用二维数组
数组名[下标][下标]
Example:
b[1][2]=a[2][3]/2;
⬆️ 既是读取也是赋值
二维数组的初始化
- 分行给二维数组赋初始值
Example:
int[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
一个括号对应一行
- 所有数据按排列顺序赋值
Example:
int[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
按照内存顺序进行赋值
- 对部分元素赋初始值
Example:
int[3][4]={{1},{5},{9}}
⬇️结构如图 | | | | | | --- | --- | --- | --- | | 1 | 0 | 0 | 0 | | 5 | 0 | 0 | 0 | | 9 | 0 | 0 | 0 |