全局變量
- 概念: 寫在函數(shù)和大括號外部的變量, 稱之為全局變量
- 作用域: 從定義的那一行開始, 一直到文件末尾
- 定義與初始化: 全局變量可以先定義再初始化, 也可以定義的同時初始化
-
存儲與釋放: 存儲在
靜態(tài)區(qū)
, 程序一啟動就會分配存儲空間, 直到程序結(jié)束才會釋放
局部變量
- 概念: 寫在函數(shù)或者代碼塊中的變量, 稱之為局部變量
-
作用域: 從定義的那一行開始, 一直到遇到大括號或者
return
- 定義與初始化: 局部變量可以先定義再初始化, 也可以定義的同時初始化
-
存儲與釋放: 存儲在
棧
, 存儲在棧中的數(shù)據(jù)有一個特點, 系統(tǒng)會自動釋放
成員變量
-
概念: 寫在
類聲明@interface...{}
的大括號中的變量, 稱之為成員變量(屬性, 實例變量) - 使用方式: 成員變量只能通過對象來訪問
- 定義與初始化: 成員變量不能在定義的同時進行初始化, 注意:成員變量不能離開類, 離開類之后就不是成員變量
-
存儲與釋放: 存儲在
堆(當前對象對應(yīng)的堆的存儲空間中)
, 存儲在堆中的數(shù)據(jù), 不會被自動釋放, 只能程序員手動釋放