Các phần tử của mảng được lưu trữ trong một khối gồm các ô nhớ liên tục nhau, có cùng tên (cũng là tên của mảng) nhưng phân biệt với nhau ở chỉ số.. Chỉ số này xác định vị trí của nó tro[r]
(1)(2)Mảng tập hợp hữu hạn phần tử có kiểu liệu
Các phần tử mảng lưu trữ khối gồm ô nhớ liên tục nhau, có tên (cũng tên mảng) phân biệt với số Chỉ số xác định vị trí mảng
Mảng chia làm loại: mảng chiều mảng nhiều chiều (mảng chiều trở lên)
(3)4.1.1 Mảng chiều
A) Khai báo mảng:
Lưu ý: số_phần_tử ( kích thước mảng) phải xác định thời điểm khai báo phải số
Ví dụ:
int A[100]; //khai báo mảng số nguyên A gồm 100 phần tử.
(4)B) Truy xuất liệu mảng:
Truy xuất phần tử mảng theo cú pháp:
Trong chỉ_số số nguyên đến n-1, với n
kích thước mảng
Ví dụ: Mảng A có phần tử, phần tử thứ A[1]= -
Tên_mảng[chỉ_số]
Chỉ số
Mảng A -7
(5)4.1.1 Mảng chiều
C) Khởi tạo giá trị cho mảng chiều khai báo:
Ví dụ 1: Khởi tạo giá trị cho tất phần tử mảng: int A[5]={1,5,-8,7,0};
Ví dụ 2: Khởi tạo vài giá trị đầu mảng, phần tử sau mặc
định 0: int A[5]={2,4,1};
Ví dụ 3: Khởi tạo giá trị cho tất phần tử:
Kiểu_dữ_liệu Tên_mảng[số_phần_tử] = { giá_tri_1, giá_trị_2,…};
Trong đó, giá_trị_1, giá_trị_2,… giá trị tương ứng
(6)D) Dùng mảng chiều làm tham số hàm:
Việc truyền phần tử đơn lẻ vào hàm hồn tồn giống với truyền biến vào hàm
Đối với trường hợp muốn truyền toàn mảng cho hàm ta cần phải khai báo mảng tham số hình thước hàm
Ví dụ: int Max(int A[12], kich_thuoc); Lưu ý:
- Có thể khơng cần ghi kích thước mảng phần khai báo tham số hàm, ví dụ: int Max(int A[], kich_thuoc); ).
- Khi gọi hàm truyền mảng ta ghi tên mảng mà khơng có cặp ngoặc [] ,ví dụ: Gọi hàm Max ví dụ trên,
truyền tham số mảng int B[12] , kích_thước 12 sau:
(7)Ví dụ: Dùng mảng chiều làm tham số hàm
Kết chạy chương trình :
(8)-Dạng đơn giản thông dụng mảng nhiều chiều mảng hai chiều Một mảng hai chiều mảng chứa mảng chiều
Để cho dễ hiểu người ta thường biểu diễn mảng hai chiều dạng ma trận gồm hàng cột Tuy nhiên, mặt vật lý phần tử mảng hai chiều lưu khối nhớ liên tục
A) Khai báo mảng hai chiều:
Khi kích thước mảng tích (số_hàng*số_cột)
Ví dụ:
float A[3][4]; /*Mảng số thực A gồm 12 phần tử chia thành hàng, cột*/
(9)4.1.2 Mảng hai chiều
B) Truy xuất phần tử mảng:
Mỗi phần tử mảng có dạng:
Trong đó, chỉ_số_hàng có giá trị từ đến (số_hàng -1)và
chỉ_số_cột có giá trị từ đến (số_cột - 1)
Ví dụ: Mảng int A[3][2] minh họa hình dưới:
Tên_mảng[chỉ_số_hàng][chỉ_số_cột]
Chỉ số (0, 0) (0, 1) (1, 0) (1, 1) (2, 0) (2, 1)
Mảng A
(10)6 2
-9 0
1 5
Thứ tự phần tử mảng A[i][j] khởi tạo theo
thứ tự sau:
Ví dụ 1: Khởi tạo mảng số nguyên A[3][2] giống mảng chiều:
int A[3][2] = {2, 7, 9, 0, 4, -3};
0 1 … j-1