c語言記憶體分配問題,C語言記憶體分配問題

2022-01-28 18:49:59 字數 655 閱讀 3844

1樓:匿名使用者

這個就要知道函式的工作原理了,

你在呼叫malloc的時候建立了乙個p的副本presult此時,presult = null;

然後執行presult = (int*)malloc(isize);

那麼presult被賦值為動態記憶體的首位址malloc結束時presult又被**,所以p的值又沒有相應改變。

2樓:匿名使用者

沒有用的,這樣不能返回申請的記憶體

這樣就可以了

void malloc(int isize, int**presult)

int* p = null;

malloc(100, &p);

這樣也可以.

int * malloc(int isize, int*presult)

int* p = malloc(100, p);

3樓:匿名使用者

你這是傳值呼叫啊,當然不能返回值。引數用 int **,用*p=(int*)malloc傳入&p就可以了。

4樓:匿名使用者

請永遠記住c語言不是c++,只能按值傳遞,你這個問題是個非常經典的問題,估計是你看書看到這樣的例子吧,二樓為你提供了兩種解決方法,請按其操作

C語言問題,C語言問題

符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...

C語言問題,c語言問題

這是值傳遞,值傳遞的過程的是,系統會給你的實參的值進行乙個拷貝,把這個拷貝傳遞給形式引數。因為是拷貝,所以實參裡頭的值是不會改變的。如果是位址傳遞就不一樣了。補充 你可以定義乙個指標,這個指標指向主函式的結構體。然後子函式的形參也定義乙個指向結構提的指標。這樣就是位址傳遞了。樓主還是好好花點時間看看...

c語言編寫《分糖果問題》,C語言程式設計怎麼解決分糖問題

倒!又是腦筋急轉變!都是高手看的東東。閃!這也太難了吧 期待回的人出現 倒又腦筋急轉變 都高手看東東閃 c語言程式設計怎麼解決分糖問題 分糖果問題 幼兒園有n 20 個孩子圍成一圈分糖果,老師先隨機地發給每個孩子若干顆糖果,然後按以下規則調整 每個孩子同時將自己手中的糖果分一半給坐在他右邊的小朋友 ...