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

 

變量的存儲小結

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

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

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

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

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

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

分別理解一下

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 欧美亚洲另类在线| 国产视频精品免费播放| 亚洲欧美制服中文字幕| 亚洲久久久久久久久久| 最好看的2019年中文视频| www.99久久热国产日韩欧美.com| 亚洲老头同性xxxxx| 国产亚洲免费的视频看| 色综合亚洲精品激情狠狠| 久久色在线播放| 欧美丰满少妇xxxxx做受| 国模精品一区二区三区色天香| 久久久免费电影| 亚洲欧美日韩网| 欧美成人一区二区三区电影| 欧美一区二区三区免费观看| 成人免费看黄网站| 国产成人+综合亚洲+天堂| 在线观看国产精品淫| 日韩精品一区二区三区第95| 欧美激情欧美激情| 欧美色视频日本高清在线观看| 精品偷拍一区二区三区在线看| 国产精品91在线观看| 国产精品免费视频xxxx| 久久精品视频中文字幕| 久久黄色av网站| 中文字幕精品在线| 欧美精品久久久久| 国产精品视频公开费视频| 亚洲精品久久久久久久久久久| 国产欧美一区二区三区在线看| 精品国产福利在线| 91久久国产精品| 久久综合色88| 亚洲国产天堂久久综合| 欧美一级大片在线免费观看| 日韩av网址在线观看| 2021国产精品视频| 韩日欧美一区二区| 深夜福利91大全|