我曾经malloc()
像这样制作一个浮点数数组:
float*x1;
x1 = (float*)malloc((vertexes/3)*sizeof(float));
if(x1 == NULL)
{
printf("Out Of Memory");
getchar(); return(1);
}
到目前为止,根据我有限的知识,上述内容似乎很好,但是当我尝试像这样使用该数组时:
fscanf(stl,"%f",x1[N]);
它不起作用。x1 之后括号中的 N 是一个通常会递增的变量,但出于测试目的,我引用了所有这些,并且只使用了数组范围内的任何数字,例如 3。当我尝试这样做时,程序编译并运行良好,直到它到达fscanf
代码行。那时它崩溃了,windows说它试图找到问题的解决方案。我尝试通过 put 来使用我的动态数组,x1[3] = 12345
这似乎可以工作,因为它的printf("%f",x1[3]);
输出12345
就像它应该的那样。这让我相信问题出在里面,fscanf(stl,"%f",x1[N]);
但我不知道为什么。
提前感谢您的任何建议,非常感谢。