3 回答

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊
malloc就是用來(lái)進(jìn)行動(dòng)態(tài)分配的,由程序員自己分配內(nèi)存,正常情況下一般變量是由系統(tǒng)自動(dòng)分配到棧內(nèi)存中的,而malloc也是動(dòng)態(tài)在堆中分配

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
malloc就是返回一個(gè)由你規(guī)定大小的指針,你可以用它動(dòng)態(tài)的創(chuàng)建一些數(shù)據(jù),用后要用free把指針指向的地址的空間釋放(刪掉)以節(jié)約運(yùn)行空間。
如
int* p;
p=(int*)malloc(sizeof(int));
*p=55;
printf("%d",*p);
free(p);
另一個(gè)calloc()是返回?cái)?shù)組指針。
type* p=(strcut type*)calloc(n,size);

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊
開(kāi)辟內(nèi)存。比如 int *p; p=(int *)malloc (100*sizeof(int)); 它開(kāi)辟100個(gè)int單元,即400字節(jié)。然后p指向第一個(gè)元素。之后也可以用p[0],p[1]
- 3 回答
- 0 關(guān)注
- 201 瀏覽
添加回答
舉報(bào)