pragma mark 局部變量和全局變量以及成員變量的區(qū)別
pragma mark 概念
/**
#warning 成員變量 (擁有了類 才會(huì)有了成員變量)
存儲(chǔ): 堆 (當(dāng)前對(duì)象對(duì)應(yīng)的堆的存儲(chǔ)空間中)
存儲(chǔ)在堆中的數(shù)據(jù), 不會(huì)被自動(dòng)釋放,只能程序員 手動(dòng)釋放
*/
/**
#warning 全局變量 (定義在函數(shù)外面 稱為 全局變量)
存儲(chǔ) : 靜態(tài)區(qū)
程序一啟動(dòng) 就會(huì)分配存儲(chǔ)空間, 知道程序結(jié)束才會(huì)釋放
*/
/**
#warning 局部變量 (有代碼塊,在代碼塊聲明變量就是局部變量)
存儲(chǔ) : 棧
存儲(chǔ)在棧中的數(shù)據(jù) 有一個(gè)特點(diǎn), 系統(tǒng)會(huì)自動(dòng)給我們釋放
*/
pragma mark 代碼
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
// 寫在類的聲明的大括號(hào)中的變量,我們稱之為 成員變量 (屬性, 實(shí)例變量)
// 成員變量 只能通過 對(duì)象來(lái)訪問
// 注意: 成員變量不能離開類, 離開類之后就 不是 成員變量 \
成員變量不能定義的同時(shí)進(jìn)行初始化
// 存儲(chǔ): 堆 (當(dāng)前對(duì)象對(duì)應(yīng)的堆的存儲(chǔ)空間中)
// 存儲(chǔ)在堆中的數(shù)據(jù), 不會(huì)被自動(dòng)釋放,只能程序員 手動(dòng)釋放
int age;
}
@end
@implementation Person
@end
// 寫在函數(shù)和大括號(hào)外部的變量, 我們稱之為 全局變量
// 作用域 : 從定義的那一行開始, 一直到文件末尾
// 局部變量 可以先定義 再 初始化, 也可以定義的 同時(shí)初始化
// 存儲(chǔ) : 靜態(tài)區(qū)
// 程序一啟動(dòng) 就會(huì)分配存儲(chǔ)空間, 知道程序結(jié)束才會(huì)釋放
int a;
int b = 24;
int main(int argc, const char * argv[])
{
// 寫在函數(shù)或者 代碼塊的變量, 我們稱之為 局部變量
// 作用域 : 從定義的那一行開始, 一直遇到大括號(hào)或者 return
// 局部變量 可以 先定義 再初始化 , 也可以定義的同時(shí)初始化
// 存儲(chǔ) : 棧
// 存儲(chǔ)在棧中的數(shù)據(jù) 有一個(gè)特點(diǎn), 系統(tǒng)會(huì)自動(dòng)給我們釋放
int num;
{
int value;
}
return 0;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。