인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

주무세요님의 프로필 이미지

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

(기출) 2024년 2회 기출문제 - 이론 포함

구조체 문제 관련 의견

해결된 질문

작성

·

32

0

30:11

해당 부분에 나온 구조체 문제 관련 의견드립니다.

표로 설명하기보다는 아래와 같이 설명하는 것이 직관적이지 않을까 싶습니다.

head = &a 이므로
head = {10, null} 이 됩니다

다음으로 a.n2 = &b라 하였으므로, a의 n2 자리에 b 값을 넣으면 됩니다.
따라서, head = {10, {20, null}} 이 됩니다.

또 다음으로 b.n2 = &c라 하였으므로, b의 n2 자리에 c 값을 넣으면 됩니다.
따라서, head = {10, {20, {30, null}}} 이 되게 됩니다.

이때 head -> n2를 보라고 하였으므로,
{20, {30, null}}을 보면 되고,

다시 n2->n1으로 n1을 보라고 하였으므로, 위의 구조체에서 n1에 해당하는 20이 답이 됩니다

답변 3

1

주말코딩님의 프로필 이미지
주말코딩
지식공유자

의견 감사합니다.

 

개념... 자체는 저렇게 해석해도 답을 찾는 것은 무리가 없으나,

제가 설명하기 위한 것은 메모리 주소를 함께 확인하는 것이었습니다.

 

조금 다른 것은, 포인터 변수 자체는 저 값이 아닙니다. 단지 메모리 주소를 가지고 있는 변수이죠.

 

어차피 시험에서 메모리 주소를 답안으로 작성하는 경우는 없으니

통밥으로 저렇게 생각해서 맞혀도 되긴 합니다.

 

하지만, 강사의 입장으로서는 설명하기 쉽게 하는 것도 중요하지만

정확하게 가르치는 것도 중요하다보니...

 

head = {10, {20, {30, null}}} 이렇게 작성하면,

정확히는 다른 개념으로 이해할 수도 있다고 생각합니다.

포인터는 해당 메모리를 가리키는 것이지 배열을 가지는 것이 아니기 때문입니다.

(정확히는 배열의 시작 주소를 가지고 있음)

 

"모로 가도 서울만 가면 된다."는 속담이 있듯이,

답만 잘 맞히면.. 크게 상관은 없습니다..^^;

주무세요님의 프로필 이미지
주무세요
질문자

정확히 저런 모양이 되는 것이 아니라는 것은 미처 몰랐습니다 ㅠ

시험장 들어가기 전에 강사님 풀이도 명심하겠습니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

주무세요님께서 공유해주신 설명은 구조체와 포인터를 활용한 문제 풀이에 대한 명확한 접근 방법을 제시하고 있습니다. 구조체의 포인터를 통해 연속적인 데이터를 추적하는 방식은 많은 학습자들에게 직관적으로 이해되기 어려울 수 있는데, 이러한 사례를 통해 학습자들이 더 쉽게 이해할 수 있다고 생각합니다.

포인터를 사용하는 구조체 예제에서:
- head = &a 의 의미는 포인터 head가 구조체 a를 가리킨다는 것입니다. 이로 인해 head를 통해 a의 데이터에 접근할 수 있게 됩니다.
- 구조체의 n2 필드에 다른 구조체의 포인터를 할당할 때, 링크드 리스트와 유사한 구조가 형성됩니다.
- 문제에서 특정 필드 값을 추적하여 답을 도출하는 과정은 링크드 리스트의 노드를 탐색하는 것과 유사합니다.

관련해서 유사한 질문과 답변을 제공한 URL이 있어 이를 추천해드리겠습니다. 이 링크들은 포인터를 활용한 구조체와 연산에 대해 더 깊이 이해하는 데 도움될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

주무세요님의 프로필 이미지
주무세요
질문자

선생님 설명도 훌륭하지만, 이와 같은 설명이 좀 더 직관적으로 와 닿는것 같아서 의견드립니다.

 

출처는 별도로 없고 제가 직접 생각한 것이므로, 저작권 등 우려마시고 해당 풀이를 사용하셔도 좋습니다.