char *globle_var = NULL;
void func_a(void)
{
globle_var = malloc (BUFF_SIZE);
return;
}
void del_func()
{
...
free (globle_var);/*释放了指向的内存却没有维护全局变量的值,野指针*/
return;
}
void main()
{
func_a();
...
del_func();
...
if (NULL != globle_var)
{
.../*此时,出错*/
}
}
上述del_func()应该写为:
void del_func()
{
...
free (globle_var);
globle_var = NULL;/********/
return;
}