中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS開發篇——C++變量屬性介紹

發布時間:2020-06-26 22:10:08 來源:網絡 閱讀:536 作者:崔亞允 欄目:移動開發

藍鷗iOS培訓講師推薦:在技術的領域里沒有懶這么一說,沒有學不會這么一說,只要你自己努力就沒什么太大問題。

變量除了數據類型以外,還有3種屬性:

1、存儲類別 C++允許使用auto,static,register和extern 4種存儲類別

2、作用域 指程序中可以引用該變量的區域

3、存儲期 指變量在內存的存儲期限

上面這介紹的這些3種屬性是有關系的,程序設計者只能聲明變量的存儲類別,通過存儲類別可以確定變量的作用域和存儲期

但是大家一定要注意存儲類別的用法auto, static和register 3種存儲類別只能用于變量的定義語句中,如:

auto char c; //字符型自動變量,在函數內定義

static int a;//靜態局部整型變量或靜態外部整型變量

register int d; //整型寄存器變量,在函數內定義

extern int b;//聲明一個已定義的外部整型變量

重點說明: extern只能用來聲明已定義的外部變量,而不能用于變量定義,只要看到extern,就能夠判斷變量聲明,而不是定義變量語句。

下面是不同角度的分析:

1、從作用域角度分,有局部變量和全局變量,它們采用的存儲類別如下:

1)局部變量

自動變量,即動態局部變量(離開函數,值就消失)

靜態局部變量(離開函數,值仍保留)

寄存器變量(離開函數,值就消失)

形式參數(可以定義為自動變量或寄存器變量)

2)全局變量

靜態外部變量(只限本文件引用)

外部變量(即非靜態的外部變量,允許其他文件引用)

2、從變量存儲期(存在的時間)來區分,有動態存儲和靜態存儲兩種類型,靜態存儲是程序整個運行時間都存在,而動態存儲則是在調用函數時臨時分配單元。

1)動態存儲

自動變量(本函數內有效)

寄存器變量(本函數內有效)

形式參數

2)靜態存儲

靜態局部變量(函數內有效)

靜態外部變量(本文件內有效)

外部變量(其他文件可引用)

3、從變量值存放的位置。可分為

1)內存中靜態存儲區

靜態局部變量

靜態外部變量(函數外部靜態變量)

外部變量(可為其他文件引用)

2)內存中動態存儲區:  自動變量和形式參數

3)CPU 中的寄存器: 寄存器變量

4、關于作用域和存儲期的概念,從前面敘述可以知道,對一個變量的性質可以從兩個方面分析,一是從變量的作用域,一是從變量值存在時間的長短,即存儲期,前者是從空間的角度,后者是從時間的角度,二者有關系,但是有不同的意義,如下圖:

 iOS開發篇——C++變量屬性介紹

作用域的示意圖

 iOS開發篇——C++變量屬性介紹

存儲期的示意圖

如果一個變量在某個文件或函數范圍內是有效的,那么這個文件或函數稱為該變量的作用域,在該作用域內能夠引用該變量的,所以又稱變量在此作用域內“可見”,這種性質又稱為變量的可見性,在“作用域的示意圖”中變量a、b在函數f1中能看到。

如果一個變量值在某一時刻是存在的,那么就認為這一時刻屬于該變量的存儲期,或稱該變量在此時刻“存在”

可以看到自動變量和寄存器變量在函數內的可見性和存在性是一致的,在函數外的可見性和存在性也是一致的,靜態局部變量在函數外的可見性和存在性不一致,靜態外部變量和外部變量的可見性和存在性是一致的。

5、static聲明使變量采用靜態存儲方式,不過它對全局變量和局部變量有不同的作用,對局部變量而言,staic使動態存儲方式改為靜態存儲方式,而對于全局變量而言,它又使變量局部化(局部于本文件),不過仍是靜態存儲方式,從作用域角度而言,只要是有static聲明的,那么它的作用域都是局限的,可能只局限于本函數內(靜態局部變量),也有可能局限于本文件內(靜態外部變量)

本節課和大家說的有點多,不過理解起來應該不是很復雜,大家可以試著先理解一下,整理出來一個思路,如果有不懂的地方可隨時溝通!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泰来县| 丰台区| 石渠县| 柳林县| 积石山| 龙海市| 阿拉善右旗| 平南县| 建瓯市| 久治县| 南召县| 新巴尔虎左旗| 通辽市| 湖南省| 巨鹿县| 卫辉市| 淳化县| 瑞金市| 思南县| 吐鲁番市| 锡林郭勒盟| 柳江县| 玛多县| 兰州市| 南靖县| 大兴区| 东阳市| 常熟市| 金坛市| 青海省| 图木舒克市| 酉阳| 南阳市| 乌兰浩特市| 景泰县| 五华县| 集贤县| 汉源县| 金门县| 北流市| 柯坪县|