2015-07-20 28 views
-2

我有一個要求寫一個包裝到malloc返回類型爲void。該功能的確切簽名將是寫一個包裝到malloc與void作爲返回類型

void mymalloc_wrapper(size_t size). 

任何有關如何實現這一點的建議/是否有可能?

+7

如果此包裝只返回比第一名有什麼好處呢無效? –

+0

爲什麼我想要什麼都沒有返回(void)?!所以你想簡單地分配內存? – Zelldon

+2

有人要求你以某種方式實現'malloc',它只能造成內存泄漏?理由,請。 – IInspectable

回答

3

隨着你的簽名,你唯一可以做的事情是:

void mymalloc_wrapper(size_t size) { 
    malloc(size); 
} 

精彩,你已經分配的內存,你已經失去了指針。 這不是一個好主意

如果你想有一個void功能,你可以通過一個指針的指針返回分配內存:

void mymalloc_wrapper(size_t size, void** ptr) { 
    *ptr = malloc(size); 
} 
相關問題