728x90
void 포인터는 자료형이 정해져 있지 않으므로 역참조 연산을 할 수 없습니다. 하지만
void 포인터를 다른 자료형으로 변환하면 역참조를 할 수 있다.
*(자료형 *)void포인터
#include <stdio.h>
int main()
{
int num1 = 10;
void *ptr;
ptr = &num1; // num1의 메모리 주소를 void 포인터 ptr에 저장
// printf("%d\n", *ptr); // 컴파일 에러
printf("%d\n", *(int *)ptr); // 10: void 포인터를 int 포인터로 변환한 뒤 역참조
return 0;
}
*(int *)ptr와 같이 void 포인터를 int 포인터로 변환한 뒤 역참조를 해야 합니다.(코딩도장)
감사합니다 코딩도장 !!
728x90
'개발 > 프로그래밍 언어' 카테고리의 다른 글
[C언어] 함수 포인터를 구조체 멤버로 사용하기 (0) | 2020.05.22 |
---|