Nhập mảng xuất mảng bằng địa chỉ trong ngôn ngữ C

15:43 02/04/2025

Trong ngôn ngữ lập trình C, mảng thường được truy xuất thông qua chỉ số, nhưng chúng ta cũng có thể thao tác với mảng bằng cách sử dụng con trỏ (địa chỉ). Việc sử dụng địa chỉ có thể giúp tăng hiệu suất và linh hoạt trong một số trường hợp.

Khái niệm về mảng và địa chỉ

Trong C, tên mảng bản chất là một con trỏ trỏ đến phần tử đầu tiên của mảng. Do đó, có thể truy cập các phần tử bằng cách sử dụng toán tử con trỏ thay vì chỉ số.

Ví dụ:

#include <stdio.h>
int main() {
    int arr[] = {10, 20, 30, 40, 50};
    int *ptr = arr; // ptr trỏ đến phần tử đầu tiên của mảng
    printf(“Phan tu dau tien: %d\n”, *ptr); // In ra 10
    printf(“Phan tu thu hai: %d\n”, *(ptr + 1)); // In ra 20
    printf(“Phan tu thu ba: %d\n”, *(ptr + 2)); // In ra 30
    return 0;
}

Trong đoạn mã trên:

  • ptr trỏ đến phần tử đầu tiên của arr.
  • *(ptr + i) giúp truy cập phần tử thứ i của mảng.

Nhập mảng bằng địa chỉ

Thay vì sử dụng chỉ số arr[i], ta có thể nhập giá trị vào mảng thông qua con trỏ.

Ví dụ nhập một mảng số nguyên bằng con trỏ:

#include <stdio.h>
int main() {
    int arr[5];
    int *ptr = arr; // Con trỏ trỏ đến mảng
    printf(“Nhap 5 so nguyen:\n”);
    for(int i = 0; i < 5; i++) {
        scanf(“%d”, ptr + i); // Nhập vào địa chỉ của phần tử i
    }
    printf(“Cac gia tri da nhap:\n”);
    for(int i = 0; i < 5; i++) {
        printf(“%d “, *(ptr + i)); // Truy xuất giá trị bằng con trỏ
    }
    return 0;
}

Trong đoạn mã này:

  • scanf(“%d”, ptr + i); nhập giá trị trực tiếp vào địa chỉ của phần tử thứ i.
  • *(ptr + i) giúp truy xuất giá trị tương ứng.

Lợi ích của việc sử dụng con trỏ

  • Hiệu quả bộ nhớ: Tránh việc tạo thêm biến chỉ số, sử dụng trực tiếp địa chỉ.
  • Tối ưu hóa hiệu suất: Con trỏ giúp truy cập nhanh hơn trong một số tình huống.
  • Linh hoạt hơn: Dễ dàng thao tác với các cấu trúc dữ liệu như mảng động.

Sử dụng địa chỉ thay vì chỉ số để truy xuất phần tử và nhập dữ liệu vào mảng giúp tối ưu hóa chương trình. Đây là kỹ thuật quan trọng khi làm việc với con trỏ và quản lý bộ nhớ trong C.

Giảng viên Bùi Tuấn Vũ
Bộ môn Ứng dụng phần mềm
FPT Polytechnic TP HCM

Hỗ trợ tư vấn và giải đáp thông tin tuyển sinh FPT Polytechnic

Cùng chuyên mục

Đăng ký nhập học tại FPT Polytechnic 2026

  • Max. file size: 50 MB.
  • Max. file size: 50 MB.
  • Max. file size: 50 MB.