Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

zyeon's 작심삼일 코딩 공부

void 포인터 본문

c++ 정리

void 포인터

젼뀨 2024. 6. 21. 16:48

포인터를 선언할 때 구체적인 대상물이 정해져있지 않았다면 void 포인터를 사용할 수 있다.

void 포인터는 메모리의 주소만을 가지고있는 변수를 말하며, 제네릭 포인터 라고도 한다.

 

void 포인터는 가리키는 대상의 자료형이 정해져있지 않기 때문에 *연산자를 사용할 수 없지만, 명시적인 대상을 가리키는 포인터 타입으로 형변환을 하면 사용 가능하다. 

마찬가지로 void 포인터는 주소값을 얼마나 더하고 빼야하는지 모르기 때문에 주소 연산을 수행할 수 없지만, 형변환을 하여 사용이 가능하다.

void *p = nullptr;
int a = 10;

p= &a;
//printf("*p = %d", *p);               //오류, 역참조 불가
printf("*(int *)p = %d", *(int *)p);   //가능

//p = p + 1;                           //오류, 주소 연산 불가
p = (int *)p + 1;                      //가능

 

void 포인터는 어떤 타입의 포인터도 받을 수 있기 때문에, 매개변수로 사용해 함수를 작성할 때도 유용하다.

 

'c++ 정리' 카테고리의 다른 글

동적할당 malloc()  (0) 2024.07.02
문자 자료형 wchar_t  (0) 2024.06.28
const와 포인터  (0) 2024.06.21
포인터와 배열  (0) 2024.06.20
포인터  (0) 2024.06.17