怎么理解将一维数组按行或列存入二维数组当中,C语言,举例代码加解释
时间: 2024-09-26 09:11:00 浏览: 43
C语言第07章-一维数组和二维数组1完整.pptx
在C语言中,将一维数组看作是二维数组的一部分,主要是为了方便处理。当你有一个很长的一维数据,可以将其视为矩阵的某一行或某一列。这样做的关键是明确行索引和列索引的概念。
例如,假设我们有一维整型数组`one_dim[]`,它包含了一个5x3矩阵的数据:
```c
int one_dim[15] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
```
如果你想将其作为二维数组`two_dim[row][col]`存储,有以下两种情况:
1. **按行存储** (类似于 `1x3` 的数组重复5次):
```c
int two_dim[][3] = {
{one_dim[0], one_dim[1], one_dim[2]},
{one_dim[3], one_dim[4], one_dim[5]},
{one_dim[6], one_dim[7], one_dim[8]},
{one_dim[9], one_dim[10], one_dim[11]},
{one_dim[12], one_dim[13], one_dim[14]}
};
```
这里`row`始终是0到4,`col`是0到2,访问元素时如`two_dim[1][1]`会得到`one_dim[4]`。
2. **按列存储** (类似于 `5x1` 的数组填充3次):
```c
int two_dim[5][3] = {
{one_dim[0]}, {one_dim[3]}, {one_dim[6]}, {one_dim[9]}, {one_dim[12]}
};
```
现在`row`是0到4,`col`是0到2,访问元素时如`two_dim[2][0]`会得到`one_dim[6]`。
阅读全文