我收到的错误对我来说非常混乱。 我尝试为3个不同的字段x,y和z分配几个指针。 x和y的大小为101,z的大小为6,所有这些都必须是浮动的。 我在子程序中执行此操作,x和y首先比我尝试为z分配空间:
float *getbuff(nelem)
long nelem;
{
float *point;
if ((point = (float*)malloc(sizeof(float)*nelem)) == NULL) {
fprintf(stderr,"getbuff: can't get enough memory\n");
exit(1);
}
return(point);
}
我没有遇到x和y分配的问题,但是当我用z尝试这个时,我得到了错误:
if ((point = (float*)malloc(sizeof(float)*nelem)) == NULL)
当我在shell中执行相同操作并且只是在没有调试的情况下启动程序时,一切正常并且我没有收到此错误?! 这是从哪里来的?
谢谢!