勵志

勵志人生知識庫

realloc用法

realloc 是一個在 C 語言中用於重新分配動態記憶體的函式,它的原型是 void* realloc(void* ptr, size_t size);。這個函式接受兩個參數:

ptr:這是一個指向之前分配的記憶體塊的指針。如果 ptr 是 NULL,那麼 realloc 的行為與 malloc 相同,即分配新的記憶體塊。

size:這是要分配的新記憶體的大小(以位元組為單位)。

realloc 函式會嘗試根據新大小重新分配記憶體。如果新大小比原記憶體大,它會分配足夠的空間,並將原記憶體塊的內容複製到新的位置。如果新大小比原記憶體小,它可能會移動記憶體塊,導致原記憶體塊的數據丟失。

realloc 的返回值是一個指向新分配記憶體塊的指針。如果重新分配成功,這將是新記憶體塊的首地址。如果重新分配失敗,則返回 NULL,並且原來的記憶體塊保持不變。

在使用 realloc 時,重要的是要檢查返回值是否為 NULL,以避免使用無效的指針訪問記憶體。此外,當不再需要記憶體時,應使用 free 函式釋放它,以避免記憶體洩漏。