Mảng Hai Chiều Là Gì? Cách Khai Báo Và Khởi Tạo Trong C++
Có thể bạn quan tâm
1. Mảng hai chiều là gì?
Trong lập trình, có những trường hợp cần lưu trữ dữ liệu dưới dạng ma trận gồm nhiều dòng và nhiều cột.
Do đó, cần một cấu trúc dữ liệu để lưu trữ ma trận. Đó là mảng hai chiều. Mảng 2 chiều lưu trữ các phần tử theo dạng bảng gồm dòng và cột.
Có thể hình dùng mảng 2 chiều ở trên như là một bảng gồm 3 dòng và 4 cột. Mỗi dòng thì lưu trữ như mảng một chiều.
2. Cách khai báo và khởi tạo mảng hai chiều
Cú pháp khai báo
<kiểu dữ liệu> <tên biến mảng>[<Số dòng>][<Số cột>];
Ví dụ:int Mang2Chieu[3][4];
Khởi tạo mảng 2 chiều
Khởi tạo như mảng một chiều nhưng có khai báo số dòng và số cột
int temp[4][3] = {50, 70, 60, 48, 75, 62, 51, 69, 60, 52, 78, 63}; 50 70 60 48 75 62 51 69 60 52 78 63Khởi tạo nhóm các dòng
int temp[4][3] = {{50, 70, 60}, {48, 75, 62}, {51, 69, 60}, {52, 78, 63}};50 70 60 48 75 62 51 69 60 52 78 63Khởi tạo một số phần tử đầu, các phần tử còn lại có giá trị ngẫu nhiên, thường là 0
int temp[7][4] = {{50, 70, 60}, {48, 75, 62}, {51, 69, 60}, {52, 78, 63}};50 70 60 0 48 75 62 0 51 69 60 0 52 78 63 0 0 0 0 0 0 0 0 0 0 0 0 0Tự động xác định số lượng hàng nhưng phải xác định số cột
int temp[][3] = {50, 70, 60, 48, 75, 62, 51, 69, 60, 52, 78, 63};50 70 60 48 75 62 51 69 60 52 78 63Truy xuất đến một phần tử trong mảng hai chiều
Thông qua chỉ số hàng và chỉ số cột trong mảng. Cú pháp: <tên biến mảng>[<cs1>][<cs2>]
Ví dụ: Có mảng int a[3][4] = {{50, 70, 60, 80}, {48, 75, 62, 25}, {51, 69, 60, 21}}; Truy xuất phần tử ở dòng 1 cột 2 là a[1][2];
Các truy xuất hợp lệ: a[0][0], a[0][1], …, a[2][2], a[2][3]
Các truy xuất không hợp lệ: a[-1][0], a[2][4], a[3][3],…
3. Một số lỗi thường gặp khi khai báo và khởi tạo mảng hai chiều
Khai báo nhưng không khởi tạo mảng nên truy xuất sẽ có giá trị rác
#include <iostream> #include <string> using namespace std; int main() { int temp[4][3];//chưa khởi tạo for(int i=0;i<4;i++){ for(int j=0;j<3;j++){ cout<<temp[i][j]<<" ";//truy xuất giá trị rác } cout<<"\n"; } system("pause"); }Các phần tử trong mảng
-858993460 -858993460 -858993460 -858993460 -858993460 -858993460 -858993460 -858993460 -858993460 -858993460 -858993460 -858993460Khai báo không chỉ rõ số dòng và số cột
Khai báo int temp[][]; sẽ bị lỗi, khai báo đúng là int temp[2][3];
Khai báo và khởi tạo tách biệt sẽ bị lỗi
int temp[2][3]; temp[2][3] = {{1,2, 3},{3,4, 5}};//error temp = {{1,2, 3},{3,4, 5}};//errorKhi khai báo mà không khởi tạo thì cần viết chương trình nhập mảng 2 chiều.
- Cách xử lý ngoại lệ (exceptions) trong Java
- Các loại toán tử (operator) được hỗ trợ trong Python
- Sử dụng nested class và inner class trong Java
- Chuyển đổi (convert) dữ liệu XML sang dữ liệu JSON trong Python
- Hàm count() trong PHP
Từ khóa » Khai Báo Mảng 2 Chiều Bằng Con Trỏ Trong C
-
Con Trỏ Thao Tác Với Mảng Hai Chiều Trong C
-
Vua Lập Trình: Con Trỏ Mảng 2 Chiều Trong C, Cách ...
-
Bài 67. Cấp Phát động Mảng 2 Chiều Trong C - Lập Trình Không Khó
-
Mảng 2 Chiều Trong C - Học Lập Trình C Online - Viettuts
-
[Con Trỏ] Con Trỏ Với Mảng 2 Chiều - CodeLAB
-
Tự Học C/C++ | Con Trỏ Tới Con Trỏ Và Mảng đa Chiều động - Cafedev
-
Cách Khai Báo Mảng 2 Chiều Dùng Con Trỏ Như Thế Nào?
-
C++ 39: Con Trỏ Và Mảng Hai Chiều - YouTube
-
[Lập Trình C++ Cơ Bản] Bài 7 (Phần 2): Mảng Hai Chiều Trong ... - Viblo
-
5.3 Mảng Hai Chiều - Khóa Học C++
-
Con Trỏ Trỏ đến Con Trỏ (Pointers To Pointers) | How Kteam
-
Các Thao Tác Trên Mảng 2 Chiều | How Kteam