Jiyong's STUDY

void 포인터 본문

프로그래밍/C

void 포인터

Kingjiyong 2018. 5. 16. 01:27

void 포인터란?


void 포인터는 말 그대로 형이 없는 포인터이다.

포인터에는 type형에 대한 정보가 반드시 필요한데, 

혼동이 온다면 void형 포인터라고 봐도 무방하다.


void 포인터의 특징으로는 어떠한 type형을 가진 변수 또는 상수도 저장이 가능하다.

하지만 type형에 대한 어떠한 정보도 없는 포인터이므로 * 연산은 불가능하다.


즉 주소값은 저장이 가능하지만 그 주소값에 대한 참조가 불가능하다는 의미이다.


예제로 확인하면


int main(){

int num=0;

void *ptr=#

*ptr=20; // 컴파일 에러가 나는 부분

printf("%d", num);

}


결과 >> 컴파일 에러


위에서 말했듯이 type형에 대한 정보가 없으므로 그 주소값이 무엇을 의미하는지 알 수 없다.

그래서 * 연산이 불가능하다. 단지 주소값이 저장이 가능할 뿐이다.