常量區
一般是算在全局靜態區,常量區的內容是不能更改的,舉個例子
所以一定要注意這個問題,否則很容易會讓程序掛掉
全局靜態區
全局變量和所有的靜態變量都在這個區內,很好理解
棧區
一般我們定義的變量,只要不是malloc 或者 new 出來的都在棧區,棧區的容量很小,如果在棧區存的東西過多會導致棧溢出
堆區
c語言使用的是malloc ,calloc,relloc 切記:使用完後要即使free 否則會造成內存泄漏
我用一段代碼來表示三種方法的不同
如果我們想分配動態數組類似於下面,想從鍵盤輸入數組的長度,這樣會報錯
如果使用指針malloc內存就可以動態分配數組
int a = 0;
scanf("%d", &a);
int *arrs = (int *)malloc(sizeof(int)*a);