Xem thêm

Mảng một chiều trong C / C++: Khai báo và sử dụng

Huy Erick
Trong bài viết này, chúng ta sẽ cùng tìm hiểu về mảng một chiều trong C / C++. Mảng một chiều là gì, cách khai báo và sử dụng mảng trong các trường hợp cụ...

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về mảng một chiều trong C / C++. Mảng một chiều là gì, cách khai báo và sử dụng mảng trong các trường hợp cụ thể.

Mảng một chiều trong C / C++ là gì?

Mảng một chiều là một cấu trúc dữ liệu trong C / C++ cho phép lưu trữ và truy xuất một danh sách các phần tử có cùng kiểu dữ liệu. Mỗi phần tử trong mảng được truy xuất bằng tên mảng và vị trí lưu trữ của phần tử đó (gọi là index), được đặt trong dấu ngoặc vuông [].

Vị trí index của mảng bắt đầu từ 0 đến kích thước của mảng trừ đi 1. Ví dụ, khi ta có một mảng có kích thước là 5, thì vị trí index sẽ bắt đầu từ 0 đến 4.

Gía trị của mỗi phần tử sẽ được gán theo cặp index và value. Ví dụ, với mảng arr kiểu int, có 5 phần tử là {1, 2, 3, 4, 5}, ta có thể hiểu như sau:

arr[0] = 1 arr[1] = 2 arr[2] = 3 arr[3] = 4 arr[4] = 5

Cách khai báo mảng một chiều trong C / C++

Để khai báo mảng một chiều trong C / C++, ta cần lưu ý đến ba yếu tố: kiểu dữ liệu của mảng, tên mảng và kích thước của mảng.

Cú pháp khai báo mảng một chiều như sau:

KieuDuLieu TenMang[KichThuoc];

Trong đó:

  • KieuDuLieu: Là kiểu dữ liệu của mảng, tất cả các phần tử trong mảng phải có cùng kiểu dữ liệu này.
  • TenMang: Là tên của mảng, bạn có thể đặt tên mảng tùy ý, nhưng nên chọn tên dễ nhớ và dễ phân biệt.
  • KichThuoc: Là kích thước của mảng, tức số lượng phần tử mà mảng có thể lưu trữ.

Lưu ý: Khi khai báo mảng, kích thước của mảng phải là một số nguyên dương lớn hơn 0.

Ví dụ, để khai báo một mảng array có thể lưu trữ 2000 giá trị kiểu int, ta sẽ dùng cú pháp như sau:

int array[2000];

Truy xuất các phần tử trong mảng một chiều trong C / C++

Để truy xuất một phần tử trong mảng một chiều, ta chỉ cần biết vị trí index của phần tử đó. Cú pháp truy xuất như sau:

TenMang[index]

Trong đó:

  • TenMang: Là tên của mảng mà chúng ta muốn truy xuất.
  • index: Là vị trí lưu trữ của phần tử trong mảng (lưu ý rằng vị trí index này bắt đầu từ 0).

Ví dụ, ta có một mảng diem kiểu int, có 5 phần tử là {5, 6, 8, 2, 10}. Để truy xuất các phần tử trong mảng này, ta sử dụng cú pháp:

diem[0] // Truy xuất phần tử đầu tiên => 5 diem[1] // Truy xuất phần tử thứ hai => 6 diem[2] // Truy xuất phần tử thứ ba => 8 diem[3] // Truy xuất phần tử thứ tư => 2 diem[4] // Truy xuất phần tử thứ năm => 10

Mảng một chiều trong C / C++: Ưu điểm và nhược điểm

Mảng một chiều trong C / C++ có những ưu điểm và nhược điểm sau:

Ưu điểm:

  • Lưu được nhiều phần tử cùng kiểu dữ liệu.
  • Tối ưu chương trình.
  • Dễ dàng thao tác với các phần tử trong mảng.
  • Lưu trữ và truy xuất phần tử theo thứ tự ngẫu nhiên một cách dễ dàng.
  • Dễ dàng sắp xếp dữ liệu.

Nhược điểm:

  • Mảng có độ dài cố định.
  • Chỉ lưu được một kiểu dữ liệu duy nhất.

Ví dụ sử dụng mảng một chiều trong C / C++

Ví dụ 1: Nhập và hiển thị các phần tử trong mảng

Yêu cầu người dùng nhập vào độ dài của mảng, và sau đó nhập vào giá trị cho các phần tử trong mảng và hiển thị ra màn hình.

#include   int main() {     int size;     printf("Nhap vao do dai cua mang: ");     scanf("%d", &size);      int array[size];      for (int i = 0; i < size; i++) {         printf("Nhap vao phan tu thu %d: ", i+1);         scanf("%d", &array[i]);     }      printf("Cac phan tu trong mang la: \n");     for (int i = 0; i < size; i++) {         printf("%d ", array[i]);     }      return 0; }

Kết quả:

Nhap vao do dai cua mang: 5 Nhap vao phan tu thu 1: 5 Nhap vao phan tu thu 2: 4 Nhap vao phan tu thu 3: 2 Nhap vao phan tu thu 4: 9 Nhap vao phan tu thu 5: 1 Cac phan tu trong mang la: 5 4 2 9 1

Ví dụ 2: Hiển thị các số chẵn trong mảng

Yêu cầu người dùng nhập vào độ dài của mảng, sau đó nhập giá trị cho các phần tử trong mảng, và hiển thị ra màn hình các số chẵn trong mảng.

#include   int main() {     int size;     printf("Nhap vao do dai cua mang: ");     scanf("%d", &size);      int array[size];      for (int i = 0; i < size; i++) {         printf("Nhap vao phan tu thu %d: ", i+1);         scanf("%d", &array[i]);     }      printf("Cac so chan trong mang la: \n");     for (int i = 0; i < size; i++) {         if (array[i] % 2 == 0) {             printf("%d ", array[i]);         }     }      return 0; }

Kết quả:

Nhap vao do dai cua mang: 6 Nhap vao phan tu thu 1: 5 Nhap vao phan tu thu 2: 7 Nhap vao phan tu thu 3: 8 Nhap vao phan tu thu 4: 2 Nhap vao phan tu thu 5: 10 Nhap vao phan tu thu 6: 3 Cac so chan trong mang la: 8 2 10

Lời kết

Trên đây là những kiến thức căn bản về mảng một chiều trong C / C++. Mảng một chiều là một công cụ mạnh mẽ để lưu trữ và xử lý dữ liệu. Cố gắng luyện tập thêm để trở thành một lập trình viên thành thạo trong việc sử dụng mảng. Trong bài viết tiếp theo, chúng ta sẽ tìm hiểu về mảng hai chiều trong C / C++.

1