我是编程新手,我只是不明白这一点。我应该做一个函数,它将1d数组作为参数,并释放这个数组。 我有这样的:函数释放一维数组的内存
void destroy(double A[])
{
free(A);
}
和我的主:
void main()
{
swrmeg = (double *)malloc ((10)*sizeof(double));
swrmeg[0] = 3,2;
destroy(swrmeg);
printf("%lf\n",swrmeg[0]);
}
这应该给分段错误,但事实并非如此,它打印阵列的第一双。这意味着数组还没有被释放。任何想法为什么会发生这种情况? 任何正确的方法来释放一个函数?
相关:[如何自由工作?](http://stackoverflow.com/a/1119334/1670308) – streppel