7 1 實驗10 7 動態分配記憶體

2021-10-12 10:04:06 字數 955 閱讀 4055

已知正整數n,你要利用malloc函式動態開闢乙個長度為n的整型陣列,然後讀取n個整數存入該陣列中。再將這n個整數全部改為其相反數(例如10的相反數是-10,-10的相反數是10)的10倍,然後將其輸出。最後你要利用free函式將該動態陣列所占用的空間釋放。

int

*a,n;

scanf

(「%d」,

&n);a=(

int*

)malloc

(sizeof

(int

)* n)

;// 建立長度為n的動態整型陣列

free

(a);

//釋放動態記憶體。

輸入格式:

為兩行,第一行為乙個正整數n,第二行為n個用空格分隔整數。測試用例保證所有整數可以用int儲存,且為這n個整數申請記憶體不會超出記憶體限制。

輸出格式:

輸出只有一行,為用計算後的n個整數,這n個整數之間用乙個空格分隔。

輸入樣例:

1012

3456

78910

輸出樣例:

-10-

20-30-

40-50-

60-70-

80-90-

100

#include

#include

intmain()

a=c;

for(

int i =

0; i ) a=c;

for(

int i =

0; i 1; i++

)printf

("%d"

,*a)

;free

(c);

//釋放動態記憶體。

return0;

}

記憶體動態分配

陣列的元素儲存於記憶體中連續的位置上。當乙個陣列被宣告時,它所需要的內存在編譯時就被分配。但是,你也可以使用動態記憶體分配在執行時為它分配記憶體。malloc所分配的是一塊連續的記憶體。例如,如果請求它分配100個位元組的記憶體,那麼它實際分配的記憶體就是100個連續的位元組,並不會分開位於兩塊或多...

動態分配記憶體

動態記憶體分配即分配記憶體大小在執行時才確定,一般在堆中分配。c語言動態記憶體分配相關的函式。include void malloc size t size malloc的使用比較直接,乙個成功的malloc呼叫返回分配的size大小的記憶體的指標。失敗時返回null並將錯誤 置為enomem。教材...

動態分配記憶體

動態分配記憶體 動態分配記憶體也可以分配儲存區,這種方式可以在程式執行的時候臨時決定分配的儲存區大小 為了管理動態分配的記憶體,就需要使用一組標準函式 為了使用這些標準函式,需要包含stdlib.h標頭檔案 malloc 函式可以動態分配一組連續的位元組 這個函式需要乙個整數型別引數表示分配的位元組...