C의 void 포인터는 데이터 유형과 연결되지 않은 포인터입니다. 저장소의 일부 데이터 위치를 가리키고 변수의 주소를 가리킵니다. 범용 포인터라고도 합니다. C에서 malloc() 및 calloc() 함수는 void * 또는 일반 포인터를 반환합니다.
몇 가지 제한 사항이 있습니다 -
1) void 포인터는 구체적인 크기로 인해 포인터 연산이 불가능합니다.
2) 역참조로 사용할 수 없습니다.
알고리즘
Begin Declare a of the integer datatype. Initialize a = 7. Declare b of the float datatype. Initialize b = 7.6. Declare a pointer p as void. Initialize p pointer to a. Print “Integer variable is”. Print the value of a using pointer p. Initialize p pointer to b. Print “Float variable is”. Print the value of b using pointer p End.
다음은 간단한 예입니다 -
예시 코드
#include<stdlib.h> int main() { int a = 7; float b = 7.6; void *p; p = &a; printf("Integer variable is = %d", *( (int*) p) ); p = &b; printf("\nFloat variable is = %f", *( (float*) p) ); return 0; }
출력
Integer variable is = 7 Float variable is = 7.600000