Objective-C編程語言提供了一個(gè)數(shù)據(jù)結(jié)構(gòu)被稱為數(shù)組,它可以存儲(chǔ)一個(gè)固定大小的相同類型的元素的有序集合。一個(gè)數(shù)組用于存儲(chǔ)的數(shù)據(jù)的集合,但它往往是比較有用的,想到的一個(gè)數(shù)組作為相同類型的變量的集合。
聲明個(gè)別變量,如 number0, number1, ..., 和 number99,而是聲明一個(gè)數(shù)組變量,如數(shù)字和使用numbers[0], numbers[1], 和..., numbers[99]代表單個(gè)變量。一個(gè)特定的索引訪問數(shù)組中的元素。
所有的數(shù)組由連續(xù)的內(nèi)存位置。最低的地址對(duì)應(yīng)的第一個(gè)元素到最后一個(gè)元素的最高地址。
在Objective-C中聲明數(shù)組,程序員指定的元素類型和所需元素的數(shù)組數(shù)如下:
type arrayName [ arraySize ];
這就是所謂的一維數(shù)組。arraySize 必須是一個(gè)整數(shù)常量大于零,類型可以是任何有效的Objective-C的數(shù)據(jù)類型。例如,聲明一個(gè)10個(gè)元素的數(shù)組稱為balance 類型為 double,使用下面的語句:
double balance[10];
現(xiàn)在,balance 是一個(gè)數(shù)組變量,這是足以容納10個(gè)雙精度數(shù)。
可以初始化數(shù)組在Objective-C中,無論是由一個(gè)或使用一個(gè)單獨(dú)的語句如下:
double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};
大括號(hào){}之間的值不能大于我們聲明的方括號(hào)[]數(shù)組的元素個(gè)數(shù)。下面是一個(gè)例子,指定單個(gè)元素的數(shù)組:
如果省略數(shù)組的大小,大到足以容納初始化數(shù)組創(chuàng)建。因此,如果寫:
double balance[] = {1000.0, 2.0, 3.4, 17.0, 50.0};
像上面所做一樣,在前面的例子中,將創(chuàng)建完全相同的數(shù)組。
balance[4] = 50.0;
上面的語句分配數(shù)組中的值50.0第5元素個(gè)數(shù)。他們的第一個(gè)元素的索引,這也被稱為基本索引為0,數(shù)組第4個(gè)索引為第5個(gè)數(shù),即最后一個(gè)元素。以下是我們上面所討論畫面表示相同的數(shù)組:
元素訪問通過索引數(shù)組名。這是通過放置元素的索引數(shù)組名后的括號(hào)內(nèi)。例如:
double salary = balance[9];
上面的語句將取第10個(gè)元素,從數(shù)組中指定salary變量的值。下面是一個(gè)例子,這將使用所有上述三個(gè)概念,即。聲明,賦值和訪問數(shù)組:
#import <Foundation/Foundation.h> int main () { int n[ 10 ]; /* n is an array of 10 integers */ int i,j; /* initialize elements of array n to 0 */ for ( i = 0; i < 10; i++ ) { n[ i ] = i + 100; /* set element at location i to i + 100 */ } /* output each array element's value */ for (j = 0; j < 10; j++ ) { NSLog(@"Element[%d] = %d ", j, n[j] ); } return 0; }
讓我們編譯和運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:
2013-09-14 01:24:06.669 demo[16508] Element[0] = 100 2013-09-14 01:24:06.669 demo[16508] Element[1] = 101 2013-09-14 01:24:06.669 demo[16508] Element[2] = 102 2013-09-14 01:24:06.669 demo[16508] Element[3] = 103 2013-09-14 01:24:06.669 demo[16508] Element[4] = 104 2013-09-14 01:24:06.669 demo[16508] Element[5] = 105 2013-09-14 01:24:06.669 demo[16508] Element[6] = 106 2013-09-14 01:24:06.669 demo[16508] Element[7] = 107 2013-09-14 01:24:06.669 demo[16508] Element[8] = 108 2013-09-14 01:24:06.669 demo[16508] Element[9] = 109
數(shù)組是Objective-C中重要的部分,并需要大量的詳細(xì)信息。有以下幾個(gè)重要概念相關(guān)的Objective-C語言的程序員應(yīng)該清楚數(shù)組用法:
概念 | 描述 |
---|---|
多維數(shù)組 | Objective-C的支持多維數(shù)組。多維數(shù)組的最簡(jiǎn)單形式是二維數(shù)組。 |
向函數(shù)傳遞數(shù)組 | 可以傳遞給函數(shù)的指針到一個(gè)數(shù)組中沒有索引指定數(shù)組的名字。 |
從函數(shù)返回?cái)?shù)組 | Objective-C中允許一個(gè)函數(shù)返回一個(gè)數(shù)組。 |
指向數(shù)組的指針 | 可以生成一個(gè)簡(jiǎn)單的通過指定數(shù)組名數(shù)組的第一個(gè)元素的指針,沒有任何索引。 |