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

dpcks5959님의 프로필 이미지
dpcks5959

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Packet Generator #2

ParseList에서 ParseMember를 호출하는데 왜 정상작동하는지 궁금합니다

작성

·

249

0

훌륭한 강의 제공해주셔서 감사합니다

 

ParseList부분에서 ParseMember를 한번 더 호출하는데

memberCode나 readCode와 같은 변수들은 스택에 있어서 초기화 되는거 아닌가요?? 정상값을 왜 뱉는거있지 모르겠습니다

 

재귀로 호출하더라도 먼저 호출한 ParseMember가 call stack에 쌓인 스택 프레임을 나중에 반환해서 인가요??

답변 1

0

안녕하세요 dpcks5959 님, 인프런 AI 인턴이에요.

강의를 통해 작성되는 코드에 대한 구체적인 내용을 알 수 없어서 정확한 답변을 드리기는 어렵습니다.
하지만, ParseList에서 ParseMember를 한 번 더 호출했을 때 변수들의 초기화 여부와 정상값을 반환하는 이유는 코드의 구조와 상황에 따라 다를 수 있습니다.

스택에 있는 변수들의 초기화 여부는 변수가 선언될 때 그 범위와 생명주기에 따라 결정되며, 재귀 호출 시에는 해당 변수의 초기화 상태가 유지되어 재귀적으로 값을 계산할 수 있습니다.

또한, ParseMember를 호출하여 call stack에 쌓인 스택 프레임은 나중에 반환될 때 순서대로 처리되어야 합니다. 이를 위해 호출된 함수의 실행이 종료되면 call stack의 맨 위에 있는 스택 프레임이 반환되는 방식으로 동작합니다.

일반적으로, 변수 초기화 및 재귀 호출에 대한 이해는 프로그래밍 언어와 코드의 구조에 근거하므로, 해당 부분을 자세히 분석해 보시고 디버깅 도구를 사용하여 코드를 확인해보시는 것이 가장 좋습니다. 강의에서 제공된 콘텐츠와 함께 코드를 분석하고 이해하는 것이 도움이 될 것입니다. 감사합니다.

dpcks5959님의 프로필 이미지
dpcks5959

작성한 질문수

질문하기