Objective-C數組

Objective-C編程語言提供了一種叫作數組的數據結構,它可以存儲相同類型的固定大小順序元素的集合。數組用於存儲數據集合,但將數組視為相同類型的變數集合通常更有用。

可以聲明一個數組變數(例如numbers)並使用numbers[0]numbers[1]...numbers[99]來表示單個變數,例如:number0number1...number99,而不是聲明單個變數。 使用索引來訪問數組中的特定元素。

所有數組都包含連續的記憶體位置。 最低地址對應於第一個元素,最高地址對應於最後一個元素。

1. 聲明數組

在Objective-C中聲明一個數組,程式員需要指定元素的類型和數組所需的元素數量,如下所示 -

type arrayName [ arraySize ];

這稱為一維數組。 arraySize必須是大於零的整數常量,type可以是任何有效的Objective-C數據類型。 例如,要聲明一個名稱為balancedouble類型的10元素數組,請使用此語句 -

double balance[10];

現在,balance是一個變數數組,最多可容納10double類型。

2. 初始化數組

可以逐個初始化Objective-C中的數組,也可以使用單個語句,如下所示 -

double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};

大括弧{}之間的值的數量不能大於在方括號[]之間為數組聲明的元素的數量。以下是分配數組的單個元素的示例 -
如果省略數組的大小,則會創建一個足以容納初始化的數組。 因此,如果這樣寫 -

double balance[] = {1000.0, 2.0, 3.4, 17.0, 50.0};

這將創建與上一示例中完全相同的數組。

balance[4] = 50.0;

上面的語句將數組中的第5元素賦值為50.0。 具有第四個索引的數組它擁有5個元素,因為所有數組都將0作為第一個元素的索引,也稱為基本索引。 以下是上面討論的相同數組的圖形表示 -

3. 訪問數組元素

通過索引數組名稱來訪問元素。通過將元素的索引放在數組名稱後面的方括號中來完成的。 例如 -

double salary = balance[9];

上面的語句將從數組中取出第10個元素,並將值賦給salary變數。 以下是一個例子,它將使用上述所有三個概念,即數組聲明,分配和訪問數組 -

#import <Foundation/Foundation.h>

int main () {
   int n[ 10 ];   /* n 是10個整數的數組 */
   int i,j;

   /* 從 n 到 0 初始化數組的值 */
   for ( i = 0; i < 10; i++ ) {
      n[ i ] = i + 100;    /* 從i 至 i + 100 設置數組元素的值  */
   }

   /* 輸出每個數組元素的值 */
   for (j = 0; j < 10; j++ ) {
      NSLog(@"Element[%d] = %d\n", j, n[j] );
   }

   return 0;
}

執行上面示例代碼,得到以下結果:

2018-11-15 02:52:00.725 main[97171] Element[0] = 100
2018-11-15 02:52:00.727 main[97171] Element[1] = 101
2018-11-15 02:52:00.727 main[97171] Element[2] = 102
2018-11-15 02:52:00.727 main[97171] Element[3] = 103
2018-11-15 02:52:00.728 main[97171] Element[4] = 104
2018-11-15 02:52:00.728 main[97171] Element[5] = 105
2018-11-15 02:52:00.728 main[97171] Element[6] = 106
2018-11-15 02:52:00.728 main[97171] Element[7] = 107
2018-11-15 02:52:00.728 main[97171] Element[8] = 108
2018-11-15 02:52:00.728 main[97171] Element[9] = 109

4. Objective-C數組詳細介紹

數組對Objective-C很重要,需要更多細節。 以下幾個與數組相關的重要概念應該對Objective-C程式員清楚 -

編號 概念 描述
1 多維數組 Objective-C支持多維數組,多維數組的最簡單形式是二維數組。
2 將數組傳遞給函數 通過指定不帶索引的數組名稱來向函數傳遞指向數組的指針。
3 從函數返回數組 Objective-C允許函數返回一個數組。
4 指向數組的指針 只需指定數組名稱即可生成指向數組第一個元素的指針,而無需任何索引。

上一篇: Objective-C數字 下一篇: Objective-C指針