Ex-void형 포인터 이용시 가장 중요한 부분은 강제 형변환

CODEDRAGON Development/C, C++

반응형

   

void형 포인터 이용시 가장 중요한 부분은 강제 형변환

   

학습내용

void형 포인터 변수

  • 모든 자료형의 주소를 저장할 수 있는 포인터 변수
  • void형 포인터를 통해 주소가 아닌 값을 참조할 수 없습니다. 값을 참조하려면 강제 형변환을 해야 합니다.

   

   

소스코드

   

#include <stdio.h>

void main(){
        char c=3;
        double d=3.14;

        void* vp=NULL;

        vp=&c;
        printf("vp
저장한 주소 : %x\n", vp);
        printf("*vp
: %d\n", *(char*)vp);                // 강제 형변환(char *)

        vp=&d;
        printf("vp
저장한 주소  : %x \n", vp);
        printf("*vp
: %lf\n", *(double*)vp);             // 강제 형변환(double *)

        vp=&c;
        *(char*)vp=7;                                                   //
강제 형변환(char *)
        printf("c
저장한 : %d\n", c);
        printf("*vp
: %d\n", *(char*)vp);        // 강제 형변환(char *)

        vp=&d;
        *(double*)vp=7.1;
        printf("d
저장한 : %lf \n", d);               // 강제 형변환(double *)
        printf("*vp
: %lf\n", *(double*)vp);     // 강제 형변환(double *)

}


   

   

출력결과

   

반응형