色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > C語言存儲類型

C語言存儲類型 時間:2017-11-13      來源:未知

一:c語言存儲類型在c語言中起著重要的作用,具體的分為以下4種

1. 自動變量(auto):函數中所有的非靜態局部變量

2. 靜態變量(static):在變量前加上static關鍵字的變量。

3. 外部變量(extern):一般用作全局變量作用域的擴展

4. 寄存器類型(register):一般經常被使用的的變量(如某一變量需要計算幾千次)可以設置成寄存器變量,register變量會被存儲在寄存器中,計算速度遠快于存在內存中的非register變量。

二:數據的存儲類型可以改變其作用域和周期

1. 作用域來分析:

變量的作用域不同,本質上是由于變量的存儲類型不同,其中自動類型和寄存器的變量屬于動態存儲方式;而外部類型和靜態類型屬于靜態存儲方式

2、從生存時間的角度來看:

        自動變量:隨著函數的進棧和出棧而創建和銷毀

       靜態變量:長期存在靜態存儲區,直到程序結束

      外部變量:長期存在靜態存儲區,直到程序結束

     寄存器變量:離開函數值就會消失

三:具體分析其特點:

1, auto只能用來標識局部變量的存儲類型,對于局部變量,auto是默認的存儲類型,auto標識的變量存儲在棧區中,一般情況下我們缺省不寫,默認為自動類型存儲。

2, extern用來聲明在當前文件中引用在當前項目中的其它文件中定義的全局變量。如果全局變量未被初始化,那么將被存在bss區中,且在編譯時,自動將其值賦值為0,如果已經被初始化,那么就被存在數據區中。全局變量,不管是否被初始化,其生命周期都是整個程序運行過程中,為了節省內存空間,在當前文件中使用extern來聲明其它文件中定義的全局變量時,就不會再為其分配內存空間。

3, register的變量在由內存調入到CPU寄存器后,則在CPU的寄存器中,因此訪問register變量將在很大程度上提高效率,因為省去指令周期。

4, static的變量,無論是全局的還是局部的,都存儲在數據區中,其生命周期為整個程序,如果是靜態局部變量,其作用域為一對{}內,如果是靜態全局變量,其作用域為當前文件。靜態變量如果沒有被初始化,則自動初始化為0。靜態變量只能夠初始化一次。

四:register不同于其他三種的特性

變量定義是指定為寄存器類型,實質不一定是寄存器,這主要看cpu,若在cpu中的寄存器數量足夠多時,則定義的變量就是保存在寄存器當中的。

上一篇:C++中的static關鍵字的總結

下一篇:計算機網絡地址ip分類

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 丝袜a∨在线一区二区三区不卡 | 亚洲精品色情婷婷在线播放 | 色婷婷亚洲婷婷八月中文字幕 | 亚洲精品国产一区二区三 | 欧美内射深喉中文字幕 | 永久免费无码a片在线观看 国产一国产aa毛片 双飞两少妇国语对白 | 天噜啦精品免费视频日本免费视频 | 精品无码免费专区毛片 | 成年女人看片永久免费视频 | 欧美男男作爱GAYWWW | 日本黄区免费视频观看 | 永久免费人禽AV在线观看 | 麻豆精品传媒一二三区 | 久久视频在线视频观看天天看 | 国产在线国偷精品免费看 | 亚洲色欲在线播放一区 | 性一区| 欧美日韩在线亚洲一区蜜芽 | 亚洲成AV大片大片在线播放 | 日本XXX免费高清色视频在线观看 | 中文字幕巨大的乳专区 | 性迷宫在线观看 | 5566日本婷婷色中文字幕 | 色琪影院八戒无码 | 久久夜色撩人精品国产 | 嫩草懂你的影视 | 大屁股人妻女教师撅着屁股 | 久久久久国色AV免费观看 | 无码人妻久久一区二区三区不卡 | 九热爱视频精品视频 | 国产成人无码aⅴ片在线观看导航 | 亚洲一区二区三区av激情 | 欧洲美熟女乱AV亚洲一区 | 影音先锋中文无码一区 | 好男人网官网在线观看2019 | 中文在线免费一区三区高中清不卡 | 精品国产一二三产品价格 | 日本中文字幕不卡 | chinese中国猛男gayvideos | 中文字字幕在线一本通 | 午夜免费啪视频在线观看 |