久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

c/c++堆棧分布及其設置方法

這篇文章主要介紹了c/c++堆棧分布及其設置方法,需要的朋友可以參考下

一個由C/C++編譯的程序占用的內存分為以下幾個部分
1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數名,局部變量的名等。其操作方式類似于數據結構中的棧。
2、堆區(heap)— 由程序員分配釋放, 若程序員不釋放,程序結束時可能由OS回收。注意它與數據結構中的堆是兩回事,分配方式倒是類似于鏈表。
3、全局區(靜態區)(static)—全局變量和靜態變量的存儲是放在一塊的,初始化的全局變量和靜態變量在一塊區域, 未初始化的全局變量和未初始化的靜態變量在相鄰的另一塊區域。程序結束后由系統釋放。
4、文字常量區—常量字符串就是放在這里的,程序結束后由系統釋放 。
5、程序代碼區— 存放函數體的二進制代碼。

復制代碼 代碼如下:

int a = 0;//全局初始化區
char*p1;//全局未初始化區
main()
{
    intb;//棧
    chars[] = "abc";//棧
    char*p2;//棧
    char*p3 = "123456";//123456\0在常量區,p3在棧上。
    static int c =0;//全局(靜態)初始化區
    p1 = (char*)malloc(10);
    p2 = (char*)malloc(20);//分配得來的10和20字節的區域就在堆區。
}

strcpy(p1, "123456"); 123456\0放在常量區,編譯器可能會將它與p3所指向的”123456"優化成一個地方。

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

主站蜘蛛池模板: 国产一级片在线播放 | 日韩视频中文字幕 | 天天做日日做 | 国产精品免费看 | 欧美精品一区二区三区在线 | 嫩草视频网站 | 国产一区二区精品在线观看 | 亚洲精品一区二区三区免 | 日韩电影中文字幕 | 久久久精彩视频 | 国产精品久久久久久婷婷天堂 | 欧美日韩视频在线播放 | 久久国产精品一区二区三区 | 中文字幕电影在线观看 | 一区二区三区欧美 | 国产传媒视频在线观看 | 超碰日韩 | 精品成人 | 精品国产欧美一区二区三区成人 | 成人在线一区二区 | 黄色一级视频免费 | 亚洲日本中文字幕在线 | 国产精品成人久久久久 | 国产精品激情 | 人人九九精 | 免费在线观看av | 国产精品夜色一区二区三区 | 超碰人人人人 | www.成人在线视频 | 精品国产三级 | 成人精品福利 | 亚洲一区二区在线播放 | 午夜爽爽爽男女免费观看 | 成人欧美一区二区三区在线播放 | 91av小视频| 国产精品日韩欧美一区二区三区 | 91欧美精品| 国产精品片aa在线观看 | 欧美日韩福利 | 日韩中文字幕一区二区 | 精久久久 |