Mảng Objective-C

Ngôn ngữ lập trình Objective-C cung cấp một cấu trúc dữ liệu được gọi là the array, có thể lưu trữ tập hợp tuần tự có kích thước cố định của các phần tử cùng loại. Mảng được sử dụng để lưu trữ một tập hợp dữ liệu, nhưng thường hữu ích hơn nếu coi một mảng như một tập hợp các biến cùng kiểu.

Thay vì khai báo các biến riêng lẻ, chẳng hạn như number0, number1, ... và number99, bạn khai báo một biến mảng chẳng hạn như số và sử dụng số [0], số [1] và ..., số [99] để biểu diễn các biến riêng lẻ. Một phần tử cụ thể trong một mảng được truy cập bởi một chỉ mục.

Tất cả các mảng bao gồm các vị trí bộ nhớ liền nhau. Địa chỉ thấp nhất tương ứng với phần tử đầu tiên và địa chỉ cao nhất cho phần tử cuối cùng.

Khai báo Mảng

Để khai báo một mảng trong Objective-C, một lập trình viên chỉ định kiểu của các phần tử và số phần tử theo yêu cầu của một mảng như sau:

type arrayName [ arraySize ];

Đây được gọi là mảng một chiều . CácarraySize phải là một hằng số nguyên lớn hơn 0 và typecó thể là bất kỳ kiểu dữ liệu Objective-C hợp lệ nào. Ví dụ, để khai báo một mảng 10 phần tử được gọi làbalance kiểu double, hãy sử dụng câu lệnh này -

double balance[10];

Bây giờ, số dư là một mảng biến đổi, đủ để chứa tối đa 10 số kép.

Khởi tạo Mảng

Bạn có thể khởi tạo một mảng trong Objective-C hoặc từng cái một hoặc sử dụng một câu lệnh như sau:

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

Số lượng giá trị giữa các dấu ngoặc nhọn {} không được lớn hơn số phần tử mà chúng ta khai báo cho mảng giữa các dấu ngoặc vuông []. Sau đây là một ví dụ để gán một phần tử duy nhất của mảng:

Nếu bạn bỏ qua kích thước của mảng, một mảng vừa đủ lớn để chứa quá trình khởi tạo sẽ được tạo. Do đó, nếu bạn viết -

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

Bạn sẽ tạo chính xác mảng giống như bạn đã làm trong ví dụ trước.

balance[4] = 50.0;

Câu lệnh trên gán cho phần tử số thứ 5 trong mảng một giá trị là 50.0. Mảng có chỉ số thứ 4 sẽ là thứ 5, tức là phần tử cuối cùng vì tất cả các mảng đều có 0 là chỉ số của phần tử đầu tiên của chúng, còn được gọi là chỉ số cơ sở. Sau đây là biểu diễn bằng hình ảnh của cùng một mảng mà chúng ta đã thảo luận ở trên -

Truy cập các phần tử mảng

Một phần tử được truy cập bằng cách lập chỉ mục tên mảng. Điều này được thực hiện bằng cách đặt chỉ số của phần tử trong dấu ngoặc vuông sau tên của mảng. Ví dụ -

double salary = balance[9];

Câu lệnh trên sẽ lấy phần tử thứ 10 từ mảng và gán giá trị cho biến lương. Sau đây là một ví dụ, sẽ sử dụng tất cả ba khái niệm đã đề cập ở trên viz. khai báo, gán và truy cập mảng -

#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\n", j, n[j] );
   }
 
   return 0;
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

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

Chi tiết Mảng Objective-C

Mảng rất quan trọng đối với Objective-C và cần thêm nhiều chi tiết. Có một vài khái niệm quan trọng sau đây liên quan đến mảng mà một lập trình viên Objective-C phải rõ ràng:

Sr.No. Khái niệm & Mô tả
1 Mảng đa chiều

Objective-C hỗ trợ mảng nhiều chiều. Dạng đơn giản nhất của mảng nhiều chiều là mảng hai chiều.

2 Truyền mảng cho các hàm

Bạn có thể chuyển cho hàm một con trỏ tới một mảng bằng cách chỉ định tên của mảng mà không có chỉ mục.

3 Trả về mảng từ một hàm

Objective-C cho phép một hàm trả về một mảng.

4 Con trỏ đến một mảng

Bạn có thể tạo một con trỏ tới phần tử đầu tiên của mảng bằng cách chỉ định tên mảng mà không cần bất kỳ chỉ mục nào.