我剛開始學習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