인프런 커뮤니티 질문&답변

5116696님의 프로필 이미지
5116696

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

포인터 실습

포인터 질문입니다

작성

·

256

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에 접근하게 되는지 잘 이해가 안갑니다..

해석이 잘 안된다고 해야될지 말로 표현이 잘 안됩니다

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

포인터는 주소이니, 주소를 타고 가서 Monster 데이터가 있는 부분을 건드린 것입니다.
Info->hp는 사실상 (*Info).hp와 동일한 의미인데요.
*Info를 해서 Monster 시작 주소로 타고 간 다음,
.hp를 이용해 + 오프셋을 해서 hp가 있는 공간을 사용하는 것입니다.
포인터는 아주 중요하지만 처음엔 원래 어렵습니다.
그럴 땐 메모리를 까보면서 찬찬히 살펴보세요

5116696님의 프로필 이미지
5116696
질문자

감사합니다 덕분에 이해했습니다

디버깅 해보면서 메모리도 찬찬히 살펴보겠습니다 ㅎㅎ

5116696님의 프로필 이미지
5116696

작성한 질문수

질문하기