inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

포인터 실습

포인터 질문입니다

290

5116696

작성한 질문수 6

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

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

c++

답변 1

0

Rookiss

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

0

5116696

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

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

소스코드와 관련하여 질문드립니다

0

70

1

map 컨테이너의 emplace 함수에 대해

0

115

2

시작이 안되네요...!

0

99

2

EAX 명령어 실행 시 RAX의 상위 32비트가 초기화 되는 이유

0

127

1

리틀 엔디안 장점 질문합니다.

0

131

1

메모리 창에 주소를 넣었는데 영어 꺠짐

0

125

1

타입변환#2 build시 knight 인접 stack이 침범당했다는 error가 발생합니다.

0

94

2

map #1 8분 58초 맵은 레드블랙트리로 이루어진 것 같습니다.

1

142

2

hello world 부터 오류 ㅠㅜ

0

191

1

지역변수가 스택? 레지스터

0

132

2

마지막 문제 질문드립니다.

0

165

2

메모리창이 비활성화됩니다.

0

98

1

이중포인터 강좌 부분 질문있습니다.

0

146

1

2를 더하는 이유

0

133

1

메모리 주소 창 엔디안 질문 드립니다. 인프런 봇 답변도 괜찮습니다

1

111

1

해당 코드는 왜 오류가 날까요?

0

156

1

마지막 문제 질문 있습니다.

0

119

1

강의 마지막부분에 질문이 있습니다.

0

192

2

Field초기화

0

141

1

virtual과 override 차이

0

316

2

3:30 참조자 리턴

0

169

1

map 찾기

0

159

1

프로그램 질문드려요

0

261

1

캐스팅 질문

0

139

1