c语言将二维数组里的元素依次放到一维数组里
时间: 2023-08-01 17:15:08 浏览: 99
C++两个一维数组相加求和
假设你要将一个大小为`M*N`的二维数组`arr`中的元素依次放到一维数组`newArr`中,可以按照以下步骤进行:
1. 声明一个一维数组`newArr`,大小为`M*N`。
```c
int newArr[M*N];
```
2. 使用两重循环遍历二维数组`arr`,依次将每个元素存储到一维数组`newArr`中。
```c
int k = 0; // 一维数组的下标
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
newArr[k++] = arr[i][j];
}
}
```
这里使用了一个计数器`k`来记录一维数组的下标,每存储一个元素,就将`k`加1。
完整代码如下:
```c
#include <stdio.h>
#define M 3
#define N 4
int main() {
int arr[M][N] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int newArr[M*N];
int k = 0; // 一维数组的下标
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
newArr[k++] = arr[i][j];
}
}
// 打印一维数组
for (int i = 0; i < M*N; i++) {
printf("%d ", newArr[i]);
}
return 0;
}
```
输出结果为:
```
1 2 3 4 5 6 7 8 9 10 11 12
```
阅读全文