我刚开始学习C和(当然)与指针:)指针最佳实践
挣扎鉴于此片段:
int *storage, *storage_p;
storage = malloc(sizeof(int[GROW_BY]));
storage_p = storage;
// do something with storage, using storage_p
free(storage);
storage = NULL;
是否真正有必要声明的两个变量一起工作malloc()
'ed数据?按照我的方式创建storage
和storage_p
是不是很好?如果不是,那么'这样'会是什么?
不完全是你的问题,但它*是一个很好的习惯来清空你已经释放的指针,或者你知道你不需要从这段代码中再次使用。 – ndim 2010-07-22 19:13:01
当两个指针指向相同的内存并释放一个内存时,代码是危险的。 – 2010-07-22 19:14:16
@ndim:我知道,我已经阅读过有关指针的每一个参考文献,这是非常清楚的说明!编辑:我现在看到你的意思是我也应该NULL storage_p,我会的! – 2010-07-22 19:15:39