总结帖
数组存储
matlab中3维数组–>C中1维数组
数组转置函数
#include <stdio.h>// 转置二维数组
void transpose(int *src, int *dest, int rows, int cols) {for (int i = 0; i < rows; ++i) {for (int j = 0; j < cols; ++j) {dest[j * rows + i] = src[i * cols + j];}}
}int main() {// 假设我们有一个3x4的数组int array[12] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};// 计算原数组的行数和列数int rows = 3;int cols = 4;// 创建一个新的数组来存储转置后的结果int transposed[12];// 调用转置函数transpose(array, transposed, rows, cols);// 打印转置后的数组printf("转置后的数组: \n");for (int i = 0; i < cols; ++i) {for (int j = 0; j < rows; ++j) {printf("%d ", transposed[j * cols + i]);}printf("\n");}return 0;
}
添加头文件及声明
需要添加到和其他.h相同工程路径下
main中include一下
本函数中include一下
外部头文件都要双引号
库中自带头文件可以include <stdio,h>