7.8 區域性變數和全域性變數
7.8.1 區域性變數
(1)在函式內部或復合語句內定義的變數,只在本函式或本復合語句內可見,存在。
7.8.2 全域性變數
(1) 在函式外定義的變數,從定義變數的位置開始到本原始檔結束可見,在程式整個執行期間存在。
(2) 同名區域性變數與全域性變數在作用域重疊的部分,區域性變數的作用將覆蓋全域性變數的作用。
7.9 變數的儲存方式和生存期
7.9.1 動態儲存方式和靜態儲存方式
程式區
使用者區 靜態儲存區 全域性變數,靜態區域性變數
動態儲存區 區域性變數,函式呼叫時的現場保護和返回位址
每乙個變數和函式都有兩個屬性:資料型別和資料的儲存方式。
7.9.2 區域性變數的儲存類別
(1)auto 變數;
(2)static區域性變數;
(3)register變數;
7.9.3 全域性變數的儲存類別
(1)在乙個檔案內擴充套件外部變數的作用域;
(2)將外部變數的作用域擴充套件到其他檔案;
(3)將外部變數的作用域限制在本檔案中;
7.9.4 儲存類別小結
static data type a; //靜態區域性變數或靜態外部變數
auto data type c; //自動變數,在函式內定義
register int d;//暫存器變數,在函式內定義
extern b //將定義的外部變數b的作用域擴充套件至此
動態區域性變數
(1) 按作用域分 區域性變數 靜態區域性變數
全域性變數 靜態外部變數
外部變數
(2) 按生存期分 動態儲存 區域性變數
靜態儲存 靜態區域性變數
全域性變數
7.10 關於變數的宣告和定義
建立儲存空間的宣告稱為定義,不需要建立儲存空間的宣告稱為宣告。
7.11 內部函式和外部函式
如果乙個函式只能被本檔案中的其他函式呼叫,稱為內部函式。
static 型別名 函式名(形參表);
如果在定義函式時,用extern宣告,此函式為外部函式,可供其他檔案的函式呼叫。(函式不加宣告預設為外部函式)
Rust 變數與函式
繫結 fn main 上面的 在編譯的時候會出現警告,告訴你繫結的變數都沒有使用過。fn main 而且變數繫結必須要初始化,若是輸出未初始化的繫結會無法編譯 可變性 如果想要可以隨意被賦值 改變使用mut關鍵字 fn main 作用域 與c語言的作用域原理基本類似,用花括號來限制作用域。不同的是,...
JS 函式與變數
1 what?指的是變數和函式的可訪問範圍,作用域分為兩類 函式作用域和全域性作用域 1 函式作用域 只在定義的函式內允許訪問變數和函式 2 全域性作用域 一經定義,在任何位置處都能訪問 2 函式作用域中的變數 在某個函式中宣告的變數,就是函式作用域中變數,也可以稱為 區域性變數 3 全域性作用域中...
Python 函式與變數
函式定義的時候 按位置引數打包,使用 args 打包所有的位置引數為乙個元組 按關鍵字引數打包,使用 kwargs 打包所有的關鍵字引數為乙個字典 什麼時候使用打包 不確定引數的數量的時候 def 函式名 args,kwargs pass函式呼叫的時候 特點的情況 按位置引數進行拆包,如果 元組 列...