一、概念
二、代碼
#import <Foundation/Foundation.h>
#pragma mark 類(lèi)
#pragma mark main函數(shù)
@interface Person : NSObject
{
/*
寫(xiě)在類(lèi)聲明的大括號(hào)中的變量, 我們稱(chēng)之為 成員變量(屬性,實(shí)例變量)
成員變量 只能 通過(guò)類(lèi)對(duì)象來(lái)訪問(wèn)
注意 : 成員變量 不能離開(kāi)類(lèi), 離開(kāi)類(lèi) 之后就不是 成員變量
成員變量 不能東一的同時(shí)進(jìn)行初始化
存儲(chǔ) : 堆 (當(dāng)前對(duì)象對(duì)應(yīng)的堆的存儲(chǔ)空間中)
// 存儲(chǔ)在堆中的數(shù)據(jù), 不會(huì)被自動(dòng)釋放,只能程序員 手動(dòng)釋放
*/
int age;
// int age = 10; // Expected';' at end declaration list
}
@end
@implementation Person
@end
// 寫(xiě)在函數(shù) 和 大括號(hào)外部的變量 , 我們稱(chēng)呼為全局變量
// 作用域 : 從定義的哪一行開(kāi)始, 一直到文件末尾
// 局部變量 可以先定義再初始化, 也可以定義的同時(shí) 初始化
// 存儲(chǔ) : 靜態(tài)區(qū)
// 程序已啟動(dòng) 就會(huì)分配存儲(chǔ)空間, 知道程序結(jié)束才會(huì)釋放
int a;
int main(int argc, const char * argv[])
{
// 寫(xiě)在函數(shù) 或者代碼塊中的變量, 我們稱(chēng)之為局部變量
// 作用域 : 從定義的哪一行開(kāi)始, 一直到 遇到大括號(hào) 或者 return
// 局部變量 可以先定義再初始化, 也可以定義的同時(shí)初始化
// 存儲(chǔ) : 棧
// 存儲(chǔ)在 棧中的 數(shù)據(jù)有一個(gè)特點(diǎn), 系統(tǒng)會(huì)自動(dòng)給我們釋放
int num = 22;
{
int age;
}
#pragma mark 1.存儲(chǔ)的空間
/*
(棧) 局部變量 : 存儲(chǔ)在 棧中的 數(shù)據(jù)有一個(gè)特點(diǎn), 系統(tǒng)會(huì)自動(dòng)給我們釋放
(靜態(tài)區(qū)) 全局變量 : 程序已啟動(dòng) 就會(huì)分配存儲(chǔ)空間, 知道程序結(jié)束才會(huì)釋放
(堆) 成員變量 : 存儲(chǔ)在堆中的數(shù)據(jù), 不會(huì)被自動(dòng)釋放,只能程序員 手動(dòng)釋放
*/
return 0;
}
image.png