我知道如何使用 for 循环将文件读入二维数组以指示您在 C 中存储数据的位置,但我感兴趣的是您是否可以使用一个 fread() 调用来执行此操作。也就是说,我可以做这样的事情吗:
int A[5][5];
fread(&A, sizeof(int), 25, filePtr);
我现在尝试此操作时出现段错误,所以我想知道是否可以这样做。
编辑: 好吧,我想以这种方式使用 fread 并不是我的问题。我的问题是我必须从函数内部调用 fread,而 A 是在该函数外部定义的。
func(int size, int ***A)
{
fread(*A, sizeof(int), size*size, filePtr);
}
main
{
int A[n][n];
func(n, &A);
}
所以我的问题是我对 fread 的调用仍然存在段错误,我必须为我的函数原型(prototype)使用三重指针。我只是为了好玩而尝试了 A(而不是 *A),但仍然遇到相同的段错误。看起来我只是用指针忽略了一些东西。
最佳答案
A
已经是指向数组的指针。 &A
是指向this指针的指针,这不是你想要的。您需要做的就是将 &A
替换为 A
。
关于c - 在 C 中对三重指针使用 fread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12718952/