所以说我正在阅读一个文本文件的二维数组,并且我不知道尺寸是什么,因此导致我使用malloc。这就是说,这是我的失败尝试,希望你们可以跟随和指导我,因为我很想知道如何做到这一点!从文本文件读取2d数组而不知道边界?
void 2dArray(double **arr, int N, int M) {
int i,j;
FILE *fp;
fp = fopen("array.txt", "r");
for(i=0; i < N; i++) {
for(j=0; j < M; j++) {
fscanf(fp, "%lf", &arr[i][j]);
}
}
}
int main() {
int **array;
// How do I initialize this??
// heres my attempt:
array = (double **)malloc(sizeof(double*);
2dArray(array, N, M);
//Where would I get N and M?
你能澄清这个问题?假设你的文本文件包含12个数字。那么你怎么会知道2D数组包含3×4个元素,而不是4×3(或6×2或12×1等)?如果您在问题中包含了文本文件的示例,它可能会有所帮助。 –