テキスト ファイルの fscanf に成功し、配列 E2N1 に保存しました。これをポインターとして関数に渡そうとしていますが、機能していません。E2N1[0][0] を呼び出そうとすると、E2N は配列でもポインターでもないと言われます。私はこれに関する解決策をずっと探していました。(申し訳ありませんが、E2N は E2N1 を意味していました) fscanf を次のように使用します。
int E2N1[noz.rowE2N][Q.N];
FILE* f = fopen("E2N.txt", "r");
for(i=0; i<noz.rowE2N; i++){
for (j=0; j<Q.N; j++){
fscanf(f,"%d",&E2N1[i][j]);
}
fscanf(f,"\n");
}
fclose(f);
また、E2N1 を関数に渡すことができません。
どうぞよろしくお願いいたします。
機能は次のとおりです。
double *dudtF = stiffness(&U, &massM, &noz, &newV, &E2N1, &I2E, &B2E, &PP, &QQ);
関数ヘッダーを次のように記述します。
double *stiffness(double *U, double *massM, MESH *meshN, double *V1, int *E2N1, int *I2E, int *B2E, ordApprox *pp, ordApprox *qq)
V1、I2E、B2E は 3 つのアレイであり、E2N1 でやろうとしているのと同じようにしようとしています。