Lập trình C nâng cao bài 14: Con trỏ và mảng nhiều chiều

83

Chào mừng các bạn đã đến với học viện công nghệ Vietpro

Ở bài học trước chúng ta đã cùng tìm hiểu về cách dùng hàm realloc để cấp phát bộ nhớ trong lập trình C

Đây là bài học giúp các bạn có thể hiểu về con trỏ với mảng nhiều chiều cũng như cách sử dụng chúng trong học lập trình C. Chúng ta cùng tìm hiểu nhé.

[VIDEO TUT]

Bấm Subscribe Nhận video học mới nhất :

Chú ý: Các bạn lựa chọn video ở chế độ 720HD để xem được chất lượng hình ảnh và âm thanh tốt nhất nhé.

Con trỏ với mảng nhiều chiều

Ở bài trước chúng ta đã được học con trỏ với mảng 1 chiều cũng như kết hợp giữa các hàm malloc và realloc để ta có thể cấp phát bộ nhớ cho con trỏ và mảng 1 chiều. Còn bây giờ, chúng ta cùng làm việc với mảng nhiều chiều. Để hiểu rõ hơn ta cùng làm ví dụ. Đầu tiên chúng ta tạo khung cho chương trình bằng cách tạo một project mới và lưu lại. Giả sử ta tạo ra mảng 2 chiều là a[2][3] và nhập giá trị cho nó như cách chưa dùng malloc. Cụ thể:

Kết quả:

Còn sử dụng con trỏ với malloc thì sao? Vì ở đây là mảng hai chiều nên số lượng phần tử mảng a[2][3] sẽ bằng số hàng * số cột ( 2 * 3 ). Cụ thể:

Rất đơn giản khi khởi tạo. Nhưng khi nhập liệu thì sẽ khác. Cách nhập liệu ở bài trước sẽ là:

Còn với con trỏ malloc: a[i][j] tương đương với p + socot * i + j. Cụ thể:

Chú ý: Vị trí của ô nhớ trong mảng 2 chiều sẽ là : a + socot * i + j

Kết quả:

Bài học đến đây là kết thúc. Trong bài học tiếp theo, Vietpro sẽ hướng dẫn các bạn về con trỏ và hàm trong lập trình C.

Chúc các bạn học tốt

Tác giả: Danh Sơn Vietpro

BÌNH LUẬN

Please enter your comment!
Please enter your name here