色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

 

變量的存儲小結

作者:呂老師,華清遠見教育科技集團講師。

變量是C語言基礎也是核心的概念,對于初學C語言的同學來說變量的存儲總是覺得比較混亂。這里對C的變量做一個簡單的小結,希望對大家有所幫助。

我們看到對變量的講解的時候看到很多概念,屬性,存儲期,內部鏈接,外部鏈接,空鏈接,全局變量,局部變量,寄存器變量,靜態變量等等。看起來很混亂,下面我們梳理一下。

其實我們再使用變量的時候大多關心的只有三個方面:變量的存在期,變量的類型,變量的作用域。

我們想一下變量的定義方法分為三部分:

<存儲類別> <變量的數據類型>  <變量名>

分別理解一下

變量名。這個非常簡單我們只要符合變量的命名規則就可以了,數字字母下劃線組成,字母或下劃線開頭,不能為關鍵字。

變量的類型。這個也不難理解,我們知道有整形(int,long),字符型(char),浮點型(float,double),指針型(*)當然還有數組結構體等。相信這些我們再熟悉不過了。

存儲類別。這個是我們今天討論的重點。數據的存儲類別決定了一個數據的存在期和作用域,我們先了解一下存在期和作用域這兩個概念。

存在期:變量在內存中保存的時間。其實簡單的說主要就兩種情況,一是隨函數的調用而起作用,隨函數的結束而結束。二是作用于整個程序期間,直到程序結束。

作用域:變量能夠有效作用的區域。這個簡單的說有三種情況,一是只能作用在一個代碼塊內(或者說函數內),二是作用于整個文件(或者說程序)中,三是除了所在的文件別的文件也可以使用。

那么說了半天我們的存儲類別是怎么決定存在期和作用域的呢。別急,就是通過下面幾個關鍵字和變量定義所在的位置這兩個條件的組合。

auto為存儲類說明符,可以說明一個變量為自動變量。省略存數類型時默認就是auto修飾。所修飾的全局變量在靜態區,局部變量在棧中。

register聲明的變量屬于寄存器存儲類。所修飾的變量都在寄存器中保存。

static聲明的變量屬于靜態存儲類。所修飾的變量都在靜態區。

外部變量的函數中使用extern關鍵字來再次聲明。

我們把這幾個關鍵字和位置的組合總結一下相信會清楚很多:

組合 存儲期 作用域 初始值
auto +定義在函數內 和函數同步 函數內 不確定
auto +定義在函數外 和程序同步 本文件(程序)和外部文件 0
static+定義在函數內 和程序同步 函數內 0

static+定義在函數外 和程序同步 本文件(程序)內 0

register + 定義在函數內 和函數同步 函數內 不確定

說明一下,register只能修飾局部變量和形參,因為在寄存器內所以沒有地址,也不可能是靜態的。

extern :外部引用,當需要外部引用時使用,就不做過多闡述了。

這里只是討論數據的存儲,對關鍵字的一些其他功能就不做過多的說明了,不知道看了以上的表格對大家理解數據的存儲期和作用域有沒有一些幫助。

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 91久久久久久久久久久| 夜夜嗨av一区二区三区四区| 九色精品美女在线| 亚洲xxxx做受欧美| 性欧美办公室18xxxxhd| 亚洲天堂av在线免费观看| 国产精品久久久久免费a∨ | 亚洲欧洲一区二区三区久久| 91po在线观看91精品国产性色 | 亚洲午夜性刺激影院| 国产精品wwwwww| 狠狠做深爱婷婷久久综合一区 | 久久99热精品| 亚洲欧美日韩在线高清直播| 国产精品国产三级国产aⅴ9色 | 久久频这里精品99香蕉| 精品国产欧美一区二区五十路| 亚洲自拍高清视频网站| 日本aⅴ大伊香蕉精品视频| 岛国av午夜精品| 日韩视频永久免费观看| 日韩精品久久久久久久玫瑰园| 国产精品久久久久一区二区| 欧美精品18videosex性欧美| 久热在线中文字幕色999舞| 亚洲欧美成人网| 亚洲成avwww人| 国产伦精品一区二区三区精品视频 | 精品综合久久久久久97| 少妇久久久久久| 国产视频精品一区二区三区| 国产日韩欧美影视| 欧美亚洲在线播放| 精品成人久久av| 欧美精品在线播放| 一区二区三区视频免费在线观看| 成人美女免费网站视频| 青青草原一区二区| 久久免费福利视频| 精品国产福利视频| 麻豆成人在线看|