日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言内存/指针相关

發(fā)布時間:2023/12/2 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言内存/指针相关 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

內(nèi)存

數(shù)據(jù)類型–更好的內(nèi)存管理
數(shù)據(jù)類型:固定大小內(nèi)存的別名

typedef

  • 結(jié)構(gòu)體的別名 typedef struct Student MyStudent

  • 給指針起別名 typedef char * PCHAR

  • 給變量起別名 typedef longlong mylong_t

  • 注意:

    • void類型不能typedef

    • void只能對函數(shù)返回和參數(shù)的限定

    • void* 可以指向任何類型的數(shù)據(jù)(不需要強(qiáng)制轉(zhuǎn)換)

    • 定義一個變量,編譯器必須知道分配多少內(nèi)存

    sizeof

    • 返回的是為這個變量開辟的大小

    • 返回數(shù)據(jù)類型是unsigned int

    • sizeof計算數(shù)組

    內(nèi)存區(qū)

    內(nèi)存分區(qū)備注

    命令行參數(shù)

    env,args

    棧 ↓

    高地址向低地址

    共享庫


    堆 ↑

    低地址向高地址

    未初始化數(shù)據(jù)段

    .bss

    初始化數(shù)據(jù)段

    .data

    代碼段(靜態(tài)庫)

    .text

    受保護(hù)頭

    (void*)0

    int a ; // 外部鏈接
    static int a; // 內(nèi)部鏈接
    "helloworld" //常量區(qū)
    const修飾的全局變量 // 常量區(qū) 一旦初始化 不能修改

    程序運(yùn)行后:

    • 堆區(qū) // 手動開辟 手動釋放,程序員不釋放,在程序結(jié)束,操作系統(tǒng)會釋放

    • 棧區(qū) 編譯器自動分配、釋放

    • 全局靜態(tài)區(qū)(全局變量和靜態(tài)變量是放在一起的,初始化和未初始化會分開存放)

    • 全局區(qū) 全局變量(未初始化會成0)

    • 靜態(tài)區(qū)

    • 常量區(qū) 不能修改,程序結(jié)束由操作系統(tǒng)釋放?const char * p = "helloworld"

    靜態(tài)

    • 全局靜態(tài)變量和局部靜態(tài)變量都存儲在靜態(tài)區(qū) 都在運(yùn)行期間合法有效

    • static是內(nèi)部鏈接

    編譯

    • 頭文件不參與編譯,每一個.c是編譯單元

    • 編譯器獨(dú)立編譯每一個.c文件

    • 頭文件只放聲明,不能放定義

    extern

    • 不寫默認(rèn)是外連接的(extern)

    • 表示 符號是存在的,先編譯通過,讓鏈接器找符號在哪

    const

    • const 全局變量 在常量區(qū) 直接間接都不能修改

    • const 局部變量,在棧上,可以間接修改

    volatile

    阻止編譯器對變量進(jìn)行優(yōu)化,每次重新從內(nèi)存(變量的地址)中獲取值

    聲明:

    本文于網(wǎng)絡(luò)整理,版權(quán)歸原作者所有,如來源信息有誤或侵犯權(quán)益,請聯(lián)系我們刪除或授權(quán)事宜。

    總結(jié)

    以上是生活随笔為你收集整理的C语言内存/指针相关的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。