我正试图从一个文件中读取一些float
到我创建的数组中,定义如下:
float *taps[3];
我正在读取文件中的浮动:
for (i = 0; i < 3; i++) {
fscanf(tapsInput, "%f", taps[i]);
}
我知道当指针指向错误的地方时会出现分段错误,但我不确定在这个设置中我的代码有什么问题。
最佳答案
我知道当指针指向某个错误的地方时就会出现分段错误
你的代码也是。在您的情况下,taps[i]
是单元化的,并指向无效内存。因此,在taps[i]
中存储任何内容之前,需要为其分配内存。
在另一种方法中,我不认为taps
是指向-float
的指针数组的原因。你可以简单地
float taps[3];
然后,将各个元素的地址传递给
fscanf()
,如fscanf(tapsInput, "%f", &taps[i]);
关于c - C中的指针和段错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37954206/