Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어에서 void 포인터란 무엇입니까?

<시간/>

모든 데이터 유형 변수의 주소를 보유할 수 있는 포인터입니다(또는) 모든 데이터 유형 변수를 가리킬 수 있습니다.

선언

void 포인터에 대한 선언은 다음과 같습니다 -

void *pointername;

예를 들어 - void *vp;

액세스 − 유형 캐스트 ​​연산자는 포인터를 통해 변수 값에 액세스하는 데 사용됩니다.

구문

void 포인터의 구문은 다음과 같습니다. -

* ( (type cast) void pointer)

예시 1

int i=10;
void *vp;
vp = &i;
printf ("%d", * ((int*) vp));
// int * type cast

예시

다음은 void 포인터에 대한 C 프로그램입니다. -

#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));
}

출력

위의 프로그램을 실행하면 다음과 같은 결과가 나온다 -

i = 10
f = 5.34

예시 2

다음은 무효 포인터의 포인터 산술을 위한 C 프로그램입니다 -

#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;
}

출력

위의 프로그램을 실행하면 다음과 같은 결과가 나온다 -

array[0] = 12
array[1] = 19
array[2] = 25
array[3] = 34
array[4] = 46