超簡單的malloc函式問題

2022-06-07 02:10:02 字數 690 閱讀 3022

1樓:

1全部這個可以看一下malloc函式的原型

void* malloc(int)

malloc的引數是乙個整形,表示要申請的記憶體數,以位元組為單位,返回值是指向那段記憶體的乙個指標,是空型別的指標。

而sizeof是乙個運算子,通過他能得到乙個型別或者變數的佔記憶體的位元組數,結果為整形。所以pp=(float *)malloc(sizeof(float));實際上先計算sizeof(float),得到乙個float型佔記憶體的位元組數,32位環境下應該是4位元組,結果就為4,然後malloc(4)申請了乙個4位元組的記憶體空間,並返回這塊記憶體區域的位址,然後強制轉化為float*型別。

關於連結串列是每乙個連結串列的元素儲存了下乙個或上乙個元素的位址,自然每乙個連結串列元素都要佔記憶體空間的,當要新加入乙個連結串列的元素時首先要為這個元素分配位址,不然資料沒有地方儲存。

2樓:匿名使用者

sizeof(float)是float的位元組數,在32位機器上也就是4個位元組。

你的這個語句就是說申請4個位元組的空間,並把首位址給pp。連結串列不申請空間是不能輸入值的,沒地方放。

3樓:

1.sizeof就是說明開闢多大的記憶體空間,sizeof後的括號中就是說明開闢多少.

2.如果你不開闢記憶體,輸入的資料放在什麼地方呢?所以要先開闢,在輸入.

簡單的英語問題,超簡單英語問題

be is,am,are 的縮寫一般與人稱代詞結合,如 he is he s,she is she s,i am i m,they we are they re we re.這些縮寫的規律是非常嚴格的。但是,s 與名詞或專用名詞結合,就相當於 的 如 john s brother,the dog s...

簡單的C語言,關於malloc。有圖

是陣列,陣列你可以這麼定義int a 10 也可以這麼定義int a,後面就可以用a 1 了 你這個程式中mem devp應該是乙個mem dev型別的指標,總共分配了memdev nr devs個,第一種定義方式 mem dev mem devp memdev nr devs 這是靜態分配記憶體 ...

初中數學超簡單問題,求解,謝謝,初中數學問題求解

如果一個方程含有兩個未知數,並且所含未知項的次數都為1次,那麼這個整式方程就叫做二元一次方程,有無數個解,若加條件限定有有限個解。二元一次方程的一般形式 ax by c 0其中a b不為零,這就是二元一次方程的定義。二元一次方程的解 使二元一次方程兩邊的值相等的兩個未知數的值,叫做二元一次方程的解。...