Giáo trình ngôn ngữ C



tải về 2.34 Mb.
Chế độ xem pdf
trang49/62
Chuyển đổi dữ liệu16.03.2023
Kích2.34 Mb.
#54376
1   ...   45   46   47   48   49   50   51   52   ...   62
C ĐHQGHN

V.3 - Mảng 2 chiều
 
V.
3.1
 - Định nghĩa mảng hai chiều 
Mảng hai chiều có thể hiểu như bảng gồm các dòng các cột, các phần tử thuộc cùng một 
kiểu dữ liệu nào đó. Mảng hai chiều được định nghĩa như sau.
Cú pháp 
Kiểu_mảng tên_mảng [sd][sc]; 
Trong đó: 
- Kiểu_mảng:  đây là kiểu của mảng, là tên một kiểu dữ liệu đã tồn tại, có thể là 
kiểu chuẩn hoặc kiểu dữ liệu do người lập trình định nghĩa. 
- tên_mảng :  là tên của mảng, do người lập trình đặt, theo quy tắc về tên của C. 
- sd, sc : là hằng (hoặc biểu thức hằng) nguyên, dương tương ứng là số dòng và 
số cột mảng, số phần tử của mảng sẽ là sd*sc. 
Ví dụ: 
int a[2][5]; // a là mảng số nguyên có 2 dòng, 5 cột (có 10 phần tử) 
float 
D[3][10]; // 

là 
mảng số thực có 3 dòng, 10 cột (có 30 phần tử) 
char DS[5][30]; // DS là mảng kí tự có 5 dòng, 30 cột
Khi gặp một định nghĩa mảng, chương trình dịch sẽ cấp phát một vùng nhớ liên tiếp 
có kích thước là sd*sc*sizeof (Kiểu_mảng) cho mảng. 
 Có 
thể coi mảng 2 chiều n dòng, m cột là mảng 1 chiểu có n phần tử, mỗi phần tử lại là 
1 mảng một chiều có m phần tử (mảng của mảng). Ví dụ với float D[3][10]  có thể xem D 
là mảng có 3 phần tử D[0], D[1], D[2], mỗi phần tử này là mảng có 10 phần tử. 
 
 


Gi¸o tr×nh tin häc c¬ së II - N
gôn ngữ
 C
75
V.3.2 – Truy xuất các phần tử mảng hai chiều
 
Một phần tử của mảng 2 chiều được xác định qua tên (tên của mảng) và chỉ số dòng, 
chỉ số cột của nó trong mảng theo cú pháp sau: 
tên_mảng [csd][csc] 
Với csd là số nguyên xác định chỉ số dòng và csc là số hiệu cột cũng như trong mảng 1 
chiều các chỉ số được tính từ 0. Tức là
 csd  sd-1 và  csc  sc-1.
Lưu ý: Các phần tử của mảng 2 chiều cũng được dùng như các biến đơn, trừ trường hợp 
khi nhập giá trị cho các phần tử mảng kiểu float bằng hàm scanf thì bạn nên sử dụng biến 
(đơn) trung gian, sau đó gán giá trị của biến đó vào phần tử mảng chứ không nên sử dụng 
toán tử & để nhập trực tiếp phần tử của mảng. 
V.
3.3
– Khởi đầu giá trị các phần tử mảng hai chiều 
Các phần tử mảng hai chiều cũng có thể được khởi đầu giá trị theo cú pháp (4 dạng sau): 

tải về 2.34 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   45   46   47   48   49   50   51   52   ...   62




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương