我正在嘗試編寫一個將基本10整數轉換爲二進制數的函數。與sizeof()函數的結果相混淆
我構造函數是這樣的:
void dec2bin(int dec, char * bin);
功能將通過在參數指針的手段二進制結果存儲。
char *r1 = (char *)malloc(24);
功能需要做的第一件事是填寫了「24位的結果,」與所有零:它如下傳遞別處聲明的變量。它現在很好用,因爲我知道「尺寸」的基礎上對它進行了編碼,但我無法弄清楚如何確定任意「r1」的「尺寸」。我認爲使用sizeof函數的每種方式都不會給我24.
我對此感到困惑,並沒有連接char,char *等的各個大小之間的關係,以及如何使用這些關係大小來獲得我正在尋找的關於「r1」的內容。
有人會介意給我一個指針嗎?潘打算。
謝謝!
答案很簡單:你不能。 – 2012-02-08 19:42:59
@FredLarson:我同意,你不能。而且,這不是雙關。 :-( – Mithrandir 2012-02-08 19:44:26
'malloc'返回一個指針,所以不需要施加'malloc'調用的返回值。 – 2012-02-08 19:45:00