다음과 같이 선언되는 포인터를 void형 포인터라 한다.
void * ptr;
void형 포인터 변수는 함수의 주소를 포함한 어떠한 변수의 주소값이든 담을 수 있다.
#include <stdio.h>
void SimpleFunc(void)
{
printf("Simple function\n");
}
int main(void)
{
int num = 20;
void *ptr;
ptr = #
printf("%p\n", ptr);
ptr = SimpleFunc;
printf("%p\n", ptr);
return 0;
}
/* output :
0x7ffee8607858
0x1075fbf00
*/
위 코드처럼 어떤 형태의 변수의 주소값이든 저장할 수 있다. 그러나 void형 포인터 변수는 형(type)에 대한 정보가 없기 때문에 포인터 연산, 값의 변경, 참조가 불가능하다.
'Language > C, C++' 카테고리의 다른 글
[C] 스트림 (0) | 2021.01.15 |
---|---|
[C] main 함수로의 인자 전달 (0) | 2021.01.09 |
[C] 함수 포인터 (0) | 2021.01.08 |
[C] 2차원 배열의 포인터 (0) | 2020.12.30 |
[C] 삼중 포인터 (0) | 2020.12.28 |