请用c语言将二维数组转化为一维数组
时间: 2023-11-05 11:04:43 浏览: 314
二维数组转一维数组
这里提供两种方法:
方法一:使用指针
```c
int main() {
int arr2d[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int arr1d[12];
int *p = arr1d; // 定义指向一维数组的指针
// 将二维数组转化为一维数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
*(p++) = arr2d[i][j];
}
}
// 输出一维数组
for (int i = 0; i < 12; i++) {
printf("%d ", arr1d[i]);
}
return 0;
}
```
方法二:使用数组下标
```c
int main() {
int arr2d[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int arr1d[12];
// 将二维数组转化为一维数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
arr1d[i*4+j] = arr2d[i][j];
}
}
// 输出一维数组
for (int i = 0; i < 12; i++) {
printf("%d ", arr1d[i]);
}
return 0;
}
```
注意:以上两种方法都是将二维数组按行展开为一维数组,如果需要按列展开,请相应修改循环语句中的下标即可。
阅读全文