总结帖
数组存储
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>