완료됨
*(DWORD*)
(DWORD) 에서 이 ()이것들은 뭐하는 애들인가요..? 너무 기초적인 질문이라 좀 부끄럽지만.. 질문해봅니다
작성자 정보
답변
1
C언어에서 형(타입, type)을 변환할 때 ()
안에 형을 넣고 값 앞에 씁니다. C언어의 문법입니다.
DWORD x = 2; // DWORD는 4바이트 부호없는 정수형입니다 (unsigned int랑 동일)
DWORD *ptr1 = &x; // ptr1의 타입은 DWORD *이고 x를 가리킨다
void *ptr2 = ptr1; // void*는 모든 타입의 포인터가 될 수 있다
// DWORD y = *ptr2; // 에러임. void* 는 역참조가 안됨
// error: void value not ignored as it ought to be
DWORD y = *(DWORD *)ptr2; // ptr2를 DWORD *로 형변환 시키고 역참조해서 y에는 2가 들어감