Menu
CoddyTech

Truy cập phần tử

Thuộc phần Nền tảng cơ bản trong hành trình C của Coddy. Bài học 54 trên 63.

Mảng lưu trữ nhiều giá trị cùng kiểu dữ liệu. Ta dùng vị trí chỉ số để truy cập từng phần tử trong mảng.

Trong C, chỉ số mảng bắt đầu từ 0. Điều này có nghĩa là phần tử đầu tiên ở chỉ số 0, phần tử thứ hai ở chỉ số 1, v.v.

Tạo một mảng số nguyên có 5 phần tử:

int numbers[5] = {10, 20, 30, 40, 50};

Truy cập phần tử đầu tiên (chỉ số 0):

int firstElement = numbers[0];

Sau khi chạy đoạn code trên, firstElement chứa:

10

Truy cập phần tử thứ ba (chỉ số 2):

int thirdElement = numbers[2];

Đoạn này lưu giá trị 30 vào thirdElement.

Việc cố truy cập một phần tử nằm ngoài giới hạn của mảng (như numbers[5] trong ví dụ của chúng ta) dẫn đến hành vi không xác định và có thể khiến chương trình bị lỗi.

challenge icon

Thử thách

Dễ

Viết một hàm (function) tên là getElement để:

  1. Nhận một mảng (array) số nguyên (integer) và kích thước của mảng làm tham số (parameter)
  2. Nhận một tham số chỉ số (index)
  3. Nếu chỉ số hợp lệ (nằm trong phạm vi của mảng), in ra phần tử (element) tại chỉ số đó
  4. Nếu chỉ số không hợp lệ (nằm ngoài phạm vi của mảng), in ra Index out of bounds

Tham số index đã dùng chỉ số bắt đầu từ 0: hãy dùng trực tiếp làm arr[index] (chỉ số 5 là phần tử thứ 6). Các chỉ số hợp lệ nằm trong khoảng từ 0 đến size - 1.

Tự làm thử

#include <stdio.h>

void getElement(int arr[], int size, int index) {
    // Viết code của bạn ở đây
}

int main() {
    int size, index;
    
    // Đọc kích thước của mảng
    scanf("%d", &size);
    
    int arr[size];
    
    // Đọc các phần tử của mảng
    for(int i = 0; i < size; i++) {
        scanf("%d", &arr[i]);
    }
    
    // Đọc chỉ số cần truy cập
    scanf("%d", &index);
    
    getElement(arr, size, index);
    
    return 0;
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Nền tảng cơ bản

Tự luyện tập: Trình biên dịch C online