#include #include#include
intmain()
printf("\n
");free(pm);
pm =null;
}int *pc;
pc = (int *)calloc(100, sizeof(int
)); printf(
"使用calloc分配的儲存空間\n");
for (int i=0; i<100; i++)
}printf("\n
");free(pc);
pc =null;
int *pms = (int *)malloc(sizeof(int)*100
);
if(null !=pms)
printf(
"使用memset分配的儲存空間\n");
for (int i=0; i<100; i++)
}printf("\n
");free(pms);
pms =null;
printf(
"使用realloc分配的儲存空間\n");
int *pre = (int *)malloc(sizeof(int) * 50
);
if (null !=pre)}}
printf("\n
");free(pre);
pre =null;
return0;
}
使用malloc分配的儲存空間4138720
413392800
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
3027544
81465662020
1870093388
1886612338
1550148449
1869440356
1650803804
710698869 -2147450880 -2147450880 -2147450880
1543503964
11955
4138720
4133952 -2147450880 -2147450880 -2147450880 -2147450880 -2147450880 -2147450880 -2147450880 -2147450880
使用calloc分配的儲存空間00
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
00使用memset分配的儲存空間00
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
00使用realloc分配的儲存空間
4133528
4133824
4133880
538976288
402653208
11933
4132712
4128964
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288
538976288 -14671840
1684957440
1601402735
134217736
11964
4139504
4128964
1113340483
1765954646
1700027502
1551070323
1953721961
1886153825
1634427745
1666999655
1869375859
181884682300
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
C C 語言之記憶體分配
一.理論 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,c語言中對應的主要函式有malloc 和free c 中是new和delete...
C語言之記憶體使用
問題 記憶體使用 有人寫了乙個將整數轉換為字串的函式 char itoa int n 如果我呼叫這個函式 char str5 itoa 5 str5會是什麼結果呢?答案分析 答案是不確定,可以確定的是肯定不是我們想要的 5 retbuf定義在函式體中,是乙個區域性變數,它的記憶體空間位於棧 stac...
深入C語言之記憶體問題
最近瘋狂學習c語言當中,看到有啟蒙文章,心中大喜,隨複製。記憶體,c語言中出現詭異bug的兩大 源泉 之一。即使是久經沙場的老手,也有時也難免落入陷阱。本文將涉足這個雷區,一 竟。本人菜鳥乙隻,屬於初探,不敢深挖。記憶體分為哪些段?一般來說,c語言中記憶體分為 棧 stack 堆 heap 全域性變...