日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

 

變量的存儲小結

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

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

我們看到對變量的講解的時候看到很多概念,屬性,存儲期,內部鏈接,外部鏈接,空鏈接,全局變量,局部變量,寄存器變量,靜態(tài)變量等等?雌饋砗芑靵y,下面我們梳理一下。

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

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

<存儲類別> <變量的數(shù)據(jù)類型>  <變量名>

分別理解一下

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

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

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

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

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

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

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

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

static聲明的變量屬于靜態(tài)存儲類。所修飾的變量都在靜態(tài)區(qū)。

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

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

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

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

register + 定義在函數(shù)內 和函數(shù)同步 函數(shù)內 不確定

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

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

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

主站蜘蛛池模板: 白洁少妇董汐星空传媒影视| 三年电影| 刑事侦缉档案2剧情介绍| 白蛇三| 美少女尿裤子| 防冲撞应急处置预案| 美女主播跳舞舞蹈视频| 济公斗蟋蟀| 她和他和他和他| 罗丽星克莱尔电影妄想症| 《沉默的证人》电影| 让我们的家更美好教学设计| 耳光vk| 林景云李海海| 天台的月光| 周传雄黄昏歌词| 电影哪吒闹海二| 朋友的女友| 山东生活频道| 警察锅哥 2017 刘凯| 张国立电影作品大全| 施华| 康熙王朝多少集| 贼王之王| 圣斗士星矢在线观看| 上海东方卫视节目表| 我和我的祖国钢琴谱完整版| 激情小视频在线| 陈宝莲拍过的电影| 美国舞男| 韩国最火女团的舞蹈| 书柜效果图大全2023款| 回到黑暗 电影| bb88| www.douyin.com/pay| 麻友| 阿尔法变频器说明书| 今天cctv6节目表| 荒山之夜| free loop中文版歌词| 滨美枝|