数组(2),c语言笔记
二维数组
定义
int a[row][col]
列优先遍历的代码:
// 假设 array 是一个 m 行 n 列的二维数组
for (int j = 0; j < n; j++) { // 外层循环控制列
for (int i = 0; i < m; i++) { // 内层循环层循环控制行
// 访问元素 array[i][j]
print(array[i][j]);
}
}
| 特性 | 行优先 | 列优先 |
|---|---|---|
| 遍历顺序 | 一行接一行 | 一列接一列 |
| 人类直觉 | 符合阅读习惯(左到右,上到下) | 不符合常规阅读习惯 |
| 常见语言 | C, C++, Java, Python(numpy可选) | Fortran, MATLAB, R, Julia |
| 内存布局 | a[0][0], a[0][1], ..., a[1][0], a[1][1], ... |
a[0][0], a[1][0], ..., a ..., a[0][1], a[1][1], ... |
例子1——日期计算
一维字符数组
char str[];