
Mảng là cấu trúc dữ liệu cơ bản nhất trong C, cho phép lưu trữ và xử lý nhiều giá trị cùng lúc. Hiểu rõ mảng là bước quan trọng để làm việc với dữ liệu phức tạp và các thuật toán cơ bản.
Mảng là một cấu trúc dữ liệu cho phép lưu trữ nhiều giá trị cùng kiểu dữ liệu trong một biến duy nhất. Mảng giúp tổ chức dữ liệu một cách hiệu quả, dễ dàng thao tác và là nền tảng cho nhiều thuật toán quan trọng.
Quảng cáo giúp chúng tôi duy trì trang web này
Tổng quan về mảng
Khái niệm mảng
Mảng là một tập hợp các phần tử cùng kiểu dữ liệu được lưu trữ liên tiếp trong bộ nhớ. Mỗi phần tử có một chỉ số (index) để truy cập.
Cú pháp khai báo mảng
Ví dụ thực tế:
- Chỉ số bắt đầu từ 0: Phần tử đầu tiên có chỉ số 0
- Lưu trữ liên tiếp: Các phần tử được lưu trữ liền kề nhau trong bộ nhớ
- Kích thước cố định: Không thể thay đổi kích thước sau khi khai báo
- Truy cập nhanh: Có thể truy cập bất kỳ phần tử nào bằng chỉ số
Mảng một chiều
Khởi tạo mảng
Nhập và xuất mảng
Các thao tác cơ bản với mảng
Tìm phần tử lớn nhất và nhỏ nhất
Tính tổng các phần tử
Sắp xếp mảng
Thuật toán Bubble Sort
Thuật toán Selection Sort
Tìm kiếm trong mảng
Tìm kiếm tuyến tính (Linear Search)
Tìm kiếm nhị phân (Binary Search)
Mảng hai chiều
Khai báo và khởi tạo mảng 2D
Các thao tác với mảng 2D
Tính tổng các phần tử
Tìm phần tử lớn nhất và nhỏ nhất
Mảng động (Dynamic Arrays)
Cấp phát bộ nhớ động
Mảng và hàm
Truyền mảng vào hàm
Ví dụ thực hành
1. Tìm các số nguyên tố trong mảng
2. Xóa một phần tử khỏi mảng
3. Nhập mảng ngẫu nhiên
Tổng kết
Mảng là cấu trúc dữ liệu nền tảng và vô cùng quan trọng trong lập trình C.
- Luôn kiểm tra chỉ số để tránh truy cập ngoài phạm vi (array bounds)
- Mảng trong C không tự động kiểm tra chỉ số hợp lệ
- Kích thước mảng phải được biết tại thời điểm biên dịch (trừ mảng động)
- Sử dụng hằng số để định nghĩa kích thước mảng
- Luôn khởi tạo mảng trước khi sử dụng
- Sử dụng vòng lặp để thao tác với mảng
- Ưu tiên mảng động khi kích thước không xác định trước
Với những kiến thức này, bạn đã sẵn sàng để xử lý dữ liệu phức tạp và tiếp tục khám phá các cấu trúc dữ liệu nâng cao hơn như con trỏ và cấu trúc!
Last updated on