모든 데이터 유형 변수의 주소를 보유할 수 있는 포인터입니다(또는) 모든 데이터 유형 변수를 가리킬 수 있습니다.
선언
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