亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一篇文章帶你了解C++ static的作用,全局變量和局部變量的區(qū)別

 更新時(shí)間:2021年09月24日 16:40:37   作者:Fighting++++  
這篇文章介紹了C++ static的作用,全局變量和局部變量的區(qū)別,需要的朋友可以過來參考下,希望能夠給你帶來幫助

1.static的作用

(1) 修飾局部變量時(shí),只初始化一次,延長了局部變量生命周期,直到程序結(jié)束才釋放。

(2)修飾全局變量,全局變量智能在本文件訪問,不能在其他文件訪問。

(3)修飾函數(shù)同修飾全局變量類似,只能在本文件調(diào)用,不能在其他文件調(diào)用。

(4)不想被釋放的時(shí)候,可用static修飾。

(5)考慮數(shù)據(jù)安全性,如當(dāng)程序需使用全局變量時(shí),應(yīng)優(yōu)先考慮static。

2.staic全局變量和局部變量的區(qū)別,存儲(chǔ)位置?

區(qū)別:

靜態(tài)全局變量:

(1)靜態(tài)變量包況后面的靜態(tài)局部變量,都在全局?jǐn)?shù)據(jù)區(qū)分配內(nèi)存。

(2)未經(jīng)初始化的靜態(tài)全局變量會(huì)被程序自動(dòng)出初始化為0.

(3)靜態(tài)全局變量在聲明它的整個(gè)文件都可見,本文件之外均不可見,更不可用。(因此,其中的優(yōu)點(diǎn)是,在其他文件中可以定義相同名字的變量,不會(huì)發(fā)生沖突。)

靜態(tài)局部變量:

(1)同靜態(tài)全局變量(1)。

(2)靜態(tài)局部變量在程序執(zhí)行到對(duì)象聲明處首次初始化,以后函數(shù)的調(diào)用不再初始化。

(3)靜態(tài)局部變量一般在聲明處初始化,如未顯示初始化,會(huì)被程序自動(dòng)初始化為0.

(4)靜態(tài)局部變量始終駐留在全局?jǐn)?shù)據(jù)區(qū),直到程序運(yùn)行結(jié)束。但其作用域?yàn)榫植孔饔糜?,?dāng)其定義的語句和函數(shù)結(jié)束時(shí),其作用域也結(jié)束。

static 修飾的變量存放在全局?jǐn)?shù)據(jù)區(qū)的靜態(tài)變量區(qū),包括全局靜態(tài)變量和局部靜態(tài)變量,都在全局?jǐn)?shù)據(jù)區(qū)分配內(nèi)存。初始化的時(shí)候自動(dòng)初始化為 0。

在這里插入圖片描述

我們自底向上的方式進(jìn)行講解:

1. 代碼段:主要是程序的代碼以及編譯時(shí)靜態(tài)鏈接進(jìn)來的庫。這段內(nèi)存大小在程序運(yùn)行之前就已經(jīng)確定,而且是只讀,可能存在一些常量,比如字符串常量。

2. 數(shù)據(jù)段:分為data和bss兩個(gè)段,表現(xiàn)為靜態(tài)內(nèi)存段,data段存放已初始化的全局變量(靜態(tài)內(nèi)存分配的變量和初始化全局變量)。bss段存放未初始化的全局變量,在內(nèi)存中bss段被清零。

3. 堆 段:用于程序動(dòng)態(tài)內(nèi)存分配和管理,如何分配和管理由程序的開發(fā)者決定,大小不固定(跟您的機(jī)器內(nèi)存有關(guān)系),可以動(dòng)態(tài)伸縮。

4. 映射段:該內(nèi)存區(qū)域存放鏈接其它動(dòng)態(tài)程序庫的向量,共享內(nèi)存映射向量等等。

5. 棧 段:棧是一種先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),該段內(nèi)存區(qū)域由程序在運(yùn)行中自行管理,如:局部變量保存和撤除、函數(shù)調(diào)用相關(guān)等。

6. 輸入的環(huán)境變量和參數(shù)段:主要內(nèi)存程序執(zhí)行時(shí)的環(huán)境變量,輸入?yún)?shù)等等。

7. 就是系統(tǒng)區(qū)域。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • C語言中的柔性數(shù)組你了解嗎

    C語言中的柔性數(shù)組你了解嗎

    這篇文章主要為大家詳細(xì)介紹了C99中的新語法——柔性數(shù)組的使用以及優(yōu)缺點(diǎn),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下
    2023-04-04
  • C語言實(shí)現(xiàn)學(xué)生宿舍信息管理系統(tǒng)

    C語言實(shí)現(xiàn)學(xué)生宿舍信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)學(xué)生宿舍信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • c++ 對(duì)數(shù)器實(shí)現(xiàn)示例

    c++ 對(duì)數(shù)器實(shí)現(xiàn)示例

    對(duì)數(shù)器用于在自己的本地平臺(tái)驗(yàn)證算法正確性,本文詳細(xì)的介紹了c++ 對(duì)數(shù)器實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C語言進(jìn)階輸入輸出重定向與fopen函數(shù)使用示例詳解

    C語言進(jìn)階輸入輸出重定向與fopen函數(shù)使用示例詳解

    這篇文章主要為大家介紹了C語言進(jìn)階輸入輸出重定向與fopen函數(shù)的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • Visual Studio中scanf函數(shù)報(bào)錯(cuò)的幾種解決方法

    Visual Studio中scanf函數(shù)報(bào)錯(cuò)的幾種解決方法

    本文主要介紹了Visual Studio中scanf函數(shù)報(bào)錯(cuò)的幾種解決方法,文中通過圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • 深入理解C++中的文件操作

    深入理解C++中的文件操作

    這篇文章主要給大家深入的介紹了C++中的文件操作,文件的操作對(duì)每個(gè)程序員來說都是很重要的,本文的介紹的很詳細(xì),有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • opencv配置的完整步驟(win10+VS2015+OpenCV3.1.0)

    opencv配置的完整步驟(win10+VS2015+OpenCV3.1.0)

    OpenCV是計(jì)算機(jī)視覺中經(jīng)典的專用庫,其支持多語言、跨平臺(tái),功能強(qiáng)大,這篇文章主要給大家介紹了關(guān)于opencv配置(win10+VS2015+OpenCV3.1.0)的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • C++常見獲取隨機(jī)數(shù)的方法小結(jié)

    C++常見獲取隨機(jī)數(shù)的方法小結(jié)

    這篇文章主要介紹了C++常見獲取隨機(jī)數(shù)的方法,結(jié)合實(shí)例形式總結(jié)分析了C++獲取隨機(jī)數(shù)的幾種常見方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • Cocos2d-x人物動(dòng)作類實(shí)例

    Cocos2d-x人物動(dòng)作類實(shí)例

    這篇文章主要介紹了Cocos2d-x人物動(dòng)作類實(shí)例,本文用大量代碼和圖片講解Cocos2d-x中的動(dòng)作,代碼中同時(shí)包含大量注釋說明,需要的朋友可以參考下
    2014-09-09
  • C語言單鏈隊(duì)列的表示與實(shí)現(xiàn)實(shí)例詳解

    C語言單鏈隊(duì)列的表示與實(shí)現(xiàn)實(shí)例詳解

    這篇文章主要介紹了C語言單鏈隊(duì)列的表示與實(shí)現(xiàn),對(duì)于研究數(shù)據(jù)結(jié)構(gòu)與算法的朋友來說很有參考借鑒價(jià)值,需要的朋友可以參考下
    2014-07-07

最新評(píng)論