Nó là một con trỏ có thể chứa địa chỉ của bất kỳ biến kiểu dữ liệu nào (hoặc) có thể trỏ đến bất kỳ biến kiểu dữ liệu nào.
Tuyên bố
Khai báo cho con trỏ void như sau -
void *pointername;
Ví dụ - void * vp;
Truy cập - Toán tử ép kiểu được sử dụng để truy cập giá trị của một biến thông qua con trỏ của nó.
Cú pháp
Cú pháp cho con trỏ void được đưa ra bên dưới -
* ( (type cast) void pointer)
Ví dụ 1
int i=10; void *vp; vp = &i; printf ("%d", * ((int*) vp)); // int * type cast
Ví dụ
Sau đây là chương trình C cho con trỏ void -
#include<stdio.h> main ( ){ int i =10; float f = 5.34; void *vp; vp = &i; printf ("i = %d", * ((int*)vp)); vp = &f; printf ( "f = %f", * ((float*) vp)); }
Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
i = 10 f = 5.34
Ví dụ 2
Dưới đây là chương trình C cho số học con trỏ trong con trỏ void -
#include<stdio.h> #define MAX 20 int main(){ int array[5] = {12, 19, 25, 34, 46}, i; void *vp = array; for(i = 0; i < 5; i++){ printf("array[%d] = %d\n", i, *( (int *)vp + i ) ); } return 0; }
Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
array[0] = 12 array[1] = 19 array[2] = 25 array[3] = 34 array[4] = 46