【发布时间】:2014-06-30 05:56:18
【问题描述】:
我是编程新手,但我不明白这一点。我应该创建一个以一维数组作为参数的函数,并释放这个数组。 我有这个:
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]);
}
这应该给出分段错误,但它没有,它打印数组的第一个双精度。这意味着该数组尚未被释放。任何想法为什么会发生这种情况? 在函数中进行释放的任何正确方法?
【问题讨论】: