Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Con trỏ mảng (Pointer to Array) trong C

Con trỏ lưu địa chỉ của biến. Khi cấp phát bộ nhớ, con trỏ trỏ đến địa chỉ đó. Toán tử * dùng để khai báo con trỏ. Con trỏ đến mảng trỏ đến khối bộ nhớ của biến mảng.

Cú pháp

datatype *variable_name[size];

Trong đó: datatype – kiểu dữ liệu; variable_name – tên biến; size – kích thước mảng.

Ví dụ

#include <stdio.h>

int main() {
    int *arr[3];   // Mảng 3 con trỏ int
    int *a;        // Một con trỏ int
    
    printf("Dia chi mang con tro: %p\n", (void*)arr);
    printf("Dia chi con tro don: %p\n", (void*)&a);
    return 0;
}

Kết quả

Dia chi mang con tro: 0x7ffc...
Dia chi con tro don: 0x7ffc...

Giải thích: int *arr[3] là mảng 3 con trỏ int. int *a là một con trỏ đơn. Chương trình in địa chỉ của chúng.

Phân biệt:
  • int *arr[3] – Mảng con trỏ (array of pointers)
  • int (*arr)[3] – Con trỏ đến mảng 3 int (pointer to array)
  • int arr[3] – Mảng 3 int (array of int)