Mảng 2 chiều Đị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]; | Giáo trình tin học cơ sở II - Ngôn ngữ C - Mảng 2 chiều - Đị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 D 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ử. 74 Giáo trình tin học cơ sở II - Ngôn ngữ C - 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à 0 csd sd-1 và 0 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. - 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 1. Kiểu_mảng .