首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Objective-C 學習筆記:變數與資料類型深度解析(第 10 章)

     編輯:關於C語言

Objective-C 學習筆記:變數與資料類型深度解析

本文整理自《Objective-C 程式設計 第 6 版》第 10 章,系統梳理實例變數、屬性、全域/靜態變數、枚舉、typedef 及資料類型轉換規則。

1. 實例變數與屬性

  • 慣例以下劃線 _ 開頭命名實例變數(如 _name)。
  • 在 @implementation 中顯式宣告的實例變數為 私有,子類無法直接透過名稱存取,必須透過繼承的存取方法(getter/setter)。
  • 現代 Objective-C 無需 @synthesize,只要在 @property 中宣告,編譯器自動生成存取方法及實例變數。

2. 全域變數

  • 命名慣例:小寫 g 開頭(如 int gMoveNumber = 1;)。
  • 全域變數即外部變數,可被任何方法/函數存取修改。
  • 跨檔案使用需加 extern 宣告(extern int gMoveNumber;),僅為宣告不分配儲存空間。
  • 建議:多處使用時在檔案開頭統一 extern;少數處使用則在各方法內部單獨宣告。

3. 靜態變數

  • static int gGlobalVar = 0; 定義於類實現檔案頂層。
  • 僅限該檔案中此語句之後的方法/函數存取,其他檔案不可見——實現檔案級封裝。

4. 列舉資料類型

將整數值與有意義名稱綁定,修改值只需改定義處。

enum direction { up, down, left = 10, right };
// up=0, down=1, left=10, right=11

5. typedef 語句

為類型建立別名,提升程式碼可讀性:

typedef int Counter;
Counter j, n; // 明確表明 j、n 用作計數器

6. 資料類型轉換規則(Usual Arithmetic Conversions)

  1. 若有 long double / double / float → 結果提升至最高浮點型別。
  2. 若有 Bool, char, short, bit-field, 列舉 → 全部轉為 int(整數提升)。
  3. 若有 long long / long → 另一操作數轉為同類型,結果同類型。
  4. 雙方均為 int → 結果為 int。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved