【发布时间】:2013-03-24 14:33:09
【问题描述】:
我已经成功地对一个文本文件进行 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 是三个数组,我正在尝试对它们执行与 E2N1 相同的操作。
【问题讨论】:
-
你能说明你是如何将它传递给函数的吗?数组就像地址,因此您必须将指向数组的指针传递给您的函数。
-
我又不能将 E2N1 传递给函数。 - 什么函数?
-
@ykmizu:能不能也提供相关代码?
-
根据提供的详细信息,我相信您已保存到名为:E2N 的数组中,但您正在尝试访问 E2N1。也许这就是问题所在。
-
抱歉,E2N 本来就是 E2N1。