Computer >> Máy Tính >  >> Lập trình >> lập trình C

Con trỏ void trong ngôn ngữ C là gì?

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