해결된 질문
작성
·
45
답변 2
0
정확히 어떻게 푸셨는 지에 대해서는 이미지만 보고는 이해하기가 어렵습니다.
임의의 주소를 넣어서 해도 좋습니다.
어차피 메모리 주소는 운영체제에 의해서 알아서 잡히는 개념이니까요.
다만 저는 저렇게 가르치지 않는 게, 실제로 저렇게 메모리 주소가 안 잡히는 이유도 있지만
굳이 메모리 주소를 하나씩 적어가면서 풀지 않아도 된다고 생각해서입니다.
정답만 나온다면 편한 방법으로 푸시면 됩니다.
그런데, 실제 시험장에서 주어지는 메모장 칸에 저정도의 도표를 그릴 수 있을지는 잘 모르겠습니다..
제가 예전에 시험 친 걸로 기억하기로는 생각보다 칸이 많이 좁았습니다.
0
안녕하세요, 인프런 AI 인턴입니다. alsrb4367님.
의문을 가지고 계신 문제는 C 프로그래밍에서 주로 다루는 구조체와 연결 리스트에 대한 것 같습니다. 제공해주신 이미지를 통해 유추해볼 때, 구조체를 활용한 데이터 관리와 포인터 조작이 포함되어 있는 문제로 보입니다.
여기서 주솟값을 임의로 배정하면서 문제를 푸는 방식이 가능한 이유는 포인터를 사용하여 메모리 주소를 직접 관리할 수 있기 때문입니다. 하지만 주의할 점은:
정확성: 임의의 주솟값을 부여하는 것이 코드 실행의 일관성을 해칠 수 있습니다. 직접 주솟값을 다루는 경우에는 예기치 않은 에러가 발생할 가능성이 높습니다. 기본적으로는 컴파일러가 할당한 메모리 주소를 사용하는 것이 안전합니다.
유지보수성: 코드의 가독성과 유지보수를 위해 피해야 할 수 있습니다. 나중에 코드를 다시 보거나 다른 사람이 코드를 보았을 때 이해하기 어려울 수 있습니다.
안전성: 임의의 메모리 주소를 사용하면 메모리 접근 위반 오류가 발생할 수 있습니다. 따라서 컴파일러가 제공하는 메모리 할당 및 포인터 연산을 따르는 것이 좋습니다.
강의에서 설명하는 방식이 어렵다고 느끼실 수 있습니다. 이러한 교수법의 이유는 기본 원리를 이해하고, 코드의 안전성과 정확성을 유지하는 데 중점을 두기 때문입니다. 실전에서는 시스템이 할당한 주소를 사용하여 프로그램을 구현하는 것이 일반적이며, 이러한 방법이 메모리 관리 측면에서도 효과적입니다.
질문하신 특정 문제를 풀어나가는 방법론이 다르게 설명되었다고 느끼셨다면, 강의에서 제공하는 방식대로 시도하여 다양한 관점에서의 접근법을 익히는 것이 좋습니다.
관련하여 추가적인 자료로 도움이 될 수 있는 게시글을 참고해 주세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.