-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
포인터 질문입니다
23.04.10 13:41 작성 조회수 204
0
void Createmonster(StatInfo* Info); // 함수 선언부
Createmonster(&monster); // 함수 호출부
void Createmonster(StatInfo* Info) // 함수 내용
{
cout << "몬스터 생성" << endl;
Info->hp = 40;
Info->damage = 8;
Info->defence = 2;
}
Info->hp 가 어떻게 monster.hp에 접근하게 되는지 잘 이해가 안갑니다..
해석이 잘 안된다고 해야될지 말로 표현이 잘 안됩니다
답변을 작성해보세요.
0
Rookiss
지식공유자2023.04.10
포인터는 주소이니, 주소를 타고 가서 Monster 데이터가 있는 부분을 건드린 것입니다.
Info->hp는 사실상 (*Info).hp와 동일한 의미인데요.
*Info를 해서 Monster 시작 주소로 타고 간 다음,
.hp를 이용해 + 오프셋을 해서 hp가 있는 공간을 사용하는 것입니다.
포인터는 아주 중요하지만 처음엔 원래 어렵습니다.
그럴 땐 메모리를 까보면서 찬찬히 살펴보세요
답변 1