void형 포인터

void형 포인터


● void형 포인터랑 무엇인가?
 
 - 주소값을 저장할수 있는 메모리 공간

 

 - 다만, 주소값을 저장할수 있는 제한이 없다.
   > ex) int* a;   // int형만 가리킨다.
         char* ch; // char 형만 가리킨다.
         void* v;   // 모든 타입을 가리킬수 있다.
 
 - 자료형에 대한 정보가 제외된, 주소 정보를 담을 수 있는 형태의 변수
 
 - 포인터 연산, 메모리 참조와 관련된 일에 활용 할수 없다.
 


======================================================================================================================

int main(void)
{
 char c = 'b';
 int number = 10;
 void *p ;
 p = &c;
 p = &n;
}

int main(void)
{
 int n = 10;
 void * vp = &n;     // OK!
 *vp = 20;             // Error!... 몇바이트를 참조해야할까?(void형 포인터는 연산, 메모리 참조 불가)
                          // 타입정보가 없음-> 메모리 참조X (활용 : malloc 라는 동적 할당에서 다루겠음)
 vp++;                  // Error!...

...
}


소스 출저: 윤성우 C 열혈강의

==================================================================================================================


void 포인터의 정리 ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ

void 포인터를 사용할때 주의점은

타입의 정보가 없기때문에 쓰기위해선 캐스팅 등을 통해서 타입을 명시해줘야 의미를 가짐^^

이 글을 공유하기

댓글

Designed by JB FACTORY