Mảng trong Ngôn ngữ C
Mảng (array) trong C là một phần tử quan trọng khi lập trình. Vì thế, hiểu cách dùng mảng trong C rất quan trọng. Dưới đây là những điều bạn cần biết về mảng trong C.
Ngôn ngữ lập trình C cung cấp cấu trúc dữ liệu gọi là mảng, được lưu trữ trong một tập hợp các dữ liệu cùng kiểu với độ dài cố định. Một mảng được sử dụng để lưu trữ tập hợp dữ liệu, nhưng nó rất hữu dụng nếu bạn nghĩ về một mảng các biến với cùng một kiểu.
Thay vì khai báo biến một cách rời rạc, như biến number0, number1,… và number99, bạn có thể khai báo một mảng các giá trị như numbers[0], numbers[1] và… numbers[99] để biểu diễn các giá trị riêng biệt. Một thành phần cụ thể của mảng có thể được truy cập qua index (chỉ số).
Tất cả mảng đều bao gồm các vị trí nhớ liền kề nhau. Địa chỉ thấp nhất tương ứng với thành phần đầu tiền và địa chỉ cao nhất tương ứng với thành phần cuối cùng của mảng.
Khai báo mảng trong C
Để khai báo một mảng trong ngôn ngữ C, chương trình xác định kiểu của biến và số lượng các phần tử được yêu cầu bởi biến đó như sau:
Kieu Ten_mang [ Kich_co_mang ];
Đây là mảng một chiều. Kich_co_mang phải là một số nguyên lớn hơn 0 và Kieu phải hợp lệ trong ngôn ngữ C. Ví dụ, khai báo một mảng 10 phần tử gọi là sohangban với kiểu int, sử dụng câu lệnh sau đây:
int sohangban[10];
Bây giờ sohangban là một biến mảng có thể đủ chỗ chứa 10 phần tử int.
Khởi tạo mảng trong C
Bạn có thể khởi tạo mảng trong C hoặc từng phần tử một hoặc sử dụng một câu lệnh như dưới đây:
int sohangban[5] = {34, 56, 23, 124, 67};
Số lượng các giá trị trong dấu ngoặc kép {} không được lớn hơn số lượng phần tử khai báo trong dấu ngoặc vuông [].
Nếu bạn bỏ sót kích cỡ mảng thì mảng đó đủ lớn để giữ các giá trị được khởi tạo:
int sohangban[] = {34, 56, 23, 124, 67};
Bạn sẽ tạo chính xác một chuỗi có giá trị giống hệt chuỗi bên trên bằng cách gán từng phần tử một. Dưới đây là một ví dụ khi gán giá trị cho một phần tử của mảng:
sohangban[4] = 67;
Câu lệnh bên trên gán giá trị thứ 5 của mảng giá trị 67. Tất cả các mảng đều có chỉ số (index) đầu tiên bằng 0, đây được gọi là chỉ số cơ bản và phần tử cuối cùng của mảng có chỉ số bằng độ lớn của mảng trừ đi 1. Dưới đây là cách biểu diễn hình họa cho chuỗi khai báo bên trên thông qua chỉ số:
Truy cập các phần tử mảng trong C
Một mảng được truy cập bởi cách đánh chỉ số trong tên của mảng. Dưới đây là một cách truy cập một giá trị của mảng:
int luonghangban = sohangban[9];
Câu lệnh trên lấy phần tử thứ 10 của mảng và gán giá trị này cho biến luonghangban. Dưới đây là một ví dụ về việc sử dụng với tất cả mô tả bên trên:
#include <stdio.h>
int main ()
{
int n[ 10 ]; /* mang n gom 10 so nguyen */
int i,j;
/* khoi tao cac phan tu trong mang ve gia tri 0 */
for ( i = 0; i < 10; i++ )
{
n[ i ] = i + 100; /* Thiet lap phan tu tai vi tri i thanh i + 100 */
}
/* hien thi gia tri cac phan tu trong mang */
for (j = 0; j < 10; j++ )
{
printf("Phan tu [%d] = %d\n", j, n[j] );
}
printf("\n===========================\n");
printf("QTM chuc cac ban hoc tot! \n");
return 0;
}
Biên dịch và chạy chương trình C trên để xem kết quả:
Thay đổi phần tử mảng
Để thay đổi giá trị của một phần tử cụ thể, tham chiếu tới số chỉ mục. Ví dụ:
myNumbers[0] = 33;
Ví dụ:
int myNumbers[] = {25, 50, 75, 100};
myNumbers[0] = 33;
printf("%d", myNumbers[0]);
// Kết quả 33 thay vì 25
Lặp qua một mảng
Bạn có thể lặp qua các phần tử mảng với loop for
. Ví dụ sau xuất tất cả phần tử trong mảng myNumbers
:
int myNumbers[] = {25, 50, 75, 100};
int i;
for (i = 0; i < 4; i++) {
printf("%d\n", myNumbers[i]);
}
Thiết lập kích thước mảng
Cách khác để tạo mảng là xác định kích thước của mảng và thêm các phần tử sau đó:
// Khai báo một mảng cho 4 số nguyên:
int myNumbers[4];
// Thêm các phần tử
myNumbers[0] = 25;
myNumbers[1] = 50;
myNumbers[2] = 75;
myNumbers[3] = 100;
Dùng phương pháp này, bạn sẽ biết kích thước của mảng để chương trình có thể lưu trữ đủ bộ nhớ. Bạn không thể thay đổi kích thước của mảng sau khi tạo.
Bài trước: Quy tắc phạm vi trong lập trình C
Bài tiếp: Con trỏ trong C
Bạn nên đọc
- Code NgầuThích · Phản hồi · 0 · 01/07/20
Cũ vẫn chất
-
Những câu nói hay về mùa thu, lời chào mùa thu hay và ý nghĩa
Hôm qua -
Hướng dẫn chuyển sang ngôn ngữ tiếng Việt cho Gmail
Hôm qua -
Hướng dẫn toàn tập Word 2016 (Phần 26): Tạo đồ họa SmartArt
Hôm qua -
Cách sao chép định dạng trong Google Docs, Sheets và Slides
Hôm qua -
Code LaLa Land Lục Địa Bí Ẩn mới nhất và cách nhập code
Hôm qua 2 -
‘Ghét’ Apple, Mark Zuckerberg vẫn phải dùng Macbook nhưng nó lạ lắm
Hôm qua 1 -
30 lời chúc sinh nhật chồng yêu ý nghĩa và ngọt ngào
Hôm qua 1 -
Bạn đã sử dụng keo tản nhiệt đúng cách?
Hôm qua -
70 câu ca dao, tục ngữ về học tập hay nhất
Hôm qua -
Đấu Trường Chân Lý Mobile (TFT Mobile)