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

Con trỏ void trong C


Con trỏ void trong C là con trỏ không liên kết kiểu dữ liệu nào. Nó trỏ đến vị trí dữ liệu trong bộ nhớ, tức trỏ đến địa chỉ biến. Còn gọi là con trỏ dùng chung. Trong C, malloc() và calloc() trả về void * hoặc con trỏ chung.

Có một số hạn chế:

1) Không thể làm toán tử con trỏ với void pointer do kích thước cụ thể.

2) Không thể dùng như dereferenced.

Thuật toán

Bắt đầu
    Khai báo a kiểu nguyên
    Khởi tạo a = 7
    Khai báo b kiểu float
    Khởi tạo b = 7.6
    Khai báo con trỏ p là void
    Khởi tạo p trỏ a
    In "Biến nguyên là"
    In giá trị a dùng con trỏ p
    Khởi tạo p trỏ b
    In "Biến thực là"
    In giá trị b dùng con trỏ p
Kết thúc

Ví dụ đơn giản:

Ví dụ mã

#include<stdlib.h>
int main() {
    int a = 7;
    float b = 7.6;
    void *p;
    p = &a;
    printf("Biến nguyên là = %d", *( (int*) p) );
    p = &b;
    printf("\nBiến thực là = %f", *( (float*) p) );
    return 0;
}

Kết quả

Biến nguyên là = 7
Biến thực là = 7.600000