// ...之前的代码...
// 假设 row2 已经正确地计算出来了
// 为 sins0 到 sins7 分配内存
double *sins[8];
for (int i = 0; i < 8; ++i) {
sins[i] = (double*)malloc(row2 * sizeof(double));
if (sins[i] == NULL) {
// 处理内存分配失败的情况
perror("Memory allocation failed");
return 1;
}
}
// 为二维数组 sins 分配内存
double (*sinsArray)[8] = (double(*)[8])malloc(row2 * sizeof(double[8]));
if (sinsArray == NULL) {
// 处理内存分配失败的情况
perror("Memory allocation failed");
return 1;
}
// ...之后的代码...
// 读取文件时,检查 fscanf 的返回值
int i_5 = 0;
while (fscanf(file2, "%lf %lf %lf %lf %lf %lf %lf %lf\r\n",
&sins[0][i_5], &sins[1][i_5], &sins[2][i_5], &sins[3][i_5],
&sins[4][i_5], &sins[5][i_5], &sins[6][i_5], &sins[7][i_5]) == 8) {
// ...处理数据...
i_5++;
}
// ...之后的代码...
// 释放内存
for (int i = 0; i < 8; ++i) {
free(sins[i]);
}
free(sinsArray);
优化sins0-7
最新推荐文章于 2024-06-14 16:46:01 发布