Oc作為面向?qū)ο笳Z言,即含有類型系統(tǒng)戚丸,主要包括引用類型和值類型
引用類型主要有:類划址,指針,塊
值類型主要有:基礎(chǔ)數(shù)值類型限府,結(jié)構(gòu)夺颤,枚舉
類與結(jié)構(gòu)的區(qū)別:類是引用類型:位于棧上的指針(引用),位于堆上的實例duixiang
結(jié)構(gòu)是值類型:實例直接位于棧中
重點理解棧和堆的存儲區(qū)別:
棧:存儲值類型胁勺,由系統(tǒng)自動管理世澜,沒有ARC負擔(dān),以執(zhí)行函數(shù)為單位署穗,空間大小在編譯的時候確定(參數(shù)+局部變量)寥裂;函數(shù)執(zhí)行時,系統(tǒng)會自動分配一個棧案疲,函數(shù)結(jié)束時抚恒,系統(tǒng)會自動回收棧,函數(shù)之間通過拷貝值傳遞络拌,具有局部性俭驮,大小有限度,超出了會出現(xiàn)棧溢出。
堆:存儲引用類型對象混萝,分配由程序員手動請求(手動)遗遵,釋放由ARC機制自動釋放(確定時),函數(shù)之間通過拷貝引用(指針)傳遞逸嘀,具有全局性车要,大小受到系統(tǒng)內(nèi)存整體大小影響