我在两个文件中有以下程序
主文件
float POW10[300];
main(0
{
Fill_POW10();
}
填充.cpp
extern float *POW10;
Fill_POW10()
{
for(int i=0;i<300;i++)
{
POW10[i]=i;
}
}
这因分段错误而崩溃。当我检查时,POW10 为 NULL。但是,如果我将 Fill.cpp 更改为
extern float POW10[];
Fill_POW10()
{
for(int i=0;i<300;i++)
{
POW10[i]=i;
}
}
代码工作正常。我在想 POW10 实际上是作为指向浮点数的指针实现的,所以代码应该是相同的。你能解释一下为什么不是这样吗?