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

amadeus20님의 프로필 이미지
amadeus20

작성한 질문수

독하게 시작하는 C 프로그래밍

[필수 실습 문제] 나이와 이름 입/출력 하기

디버그로 인한 궁금증으로 질문드립니다.

해결된 질문

작성

·

178

·

수정됨

0

안녕하세요 수업 잘 듣고 있습니다. c언어를 처음 배워서 모르는 것이 많아서 이상한 질문이라도 양해 부탁 드리겠습니다.

c 부터 c++까지 4가지 강의를 쭉 들어보려고 구매를 했는데 열심히 해보겠습니다.

 

독하게 c 필수 실습 문제 2번째 것을 보며 디버그를 하다가 궁금증이 생겨서 질문 드립니다.

제가 질문을 두서 없이 했습니다. 양해바랍니다ㅜ

그리고 만일 질문의 내용이 수업을 따라가다 보면 알 수 있는 내용이라면 질문에 대한 답은 안 해주시고 그렇게만 써주시면 될 것 같습니다.

스크린샷 2024-04-21 135741.png스크린샷 2024-04-21 133503.png

첫 번째 char형 배열은 선생님 말씀처럼 잘 확인을 했는데

두 번째 int형 변수는 저런 식으로 나와서 잘 모르겠습니다.

  1. 메모리를 가리키는 주소 자체?도 메모리 인가요? 다만 위 사진에서는 주소 자체 메모리는 안보이고 그 주소가 가리키는 메모리만 보여줘서 주소 자체 메모리는 안 보일 뿐인가요?

  2. 그렇게 되면 위 그림에서 0x00....43과 대응되는 ??은 못 쓰는 메모리가 되는 것인가요?

     

  3. 주소 자체?도 메모리라면 그곳에는 주소 뿐 아니라 정수도 저장할 수 있는 것 처럼 보이는데 맞나요? 주소 부분과 정수 부분이 구분 되어있는 건가요? 아니면 정수 부분도 주소로 쓰일 수 있는 건가요?

  4. 위 사진에서 제가 67을 썼더니 주소가 0x00..43으로 나왔고 그것을 가리키는 메모리는 ??이 나왔습니다. 이것은 10진 수를 16진수로 바꾼 주소 자체에 그대로 매칭 시켜서 저장했다는 소리 같은데, 그러면 모든 정수는 이렇게 매칭 시켜서 중복되면 그 하나를 돌려 쓰게 되는 것인가요?

뭔가 머리가 복잡해져서 그대로 질문을 했지만.... 말씀해주셔도 모를 것 같고 복잡할 것 같습니다.

지금 단계에서는 그냥 넘어가고 뒤에 배우다 보면 다 알려주시는 부분인가요??

아니면 따로 알아야 할까요??

 

답변 2

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

배열의 이름은 그 자체가 메모리 주소입니다. 그러나 일반 변수는 다릅니다. int형 변수 age의 주소를 메모리 창에 입력해야 정상적인 디버깅이 가능한데 그러기 위해서는 age라고 입력하지 말고 '&age'라고 입력해야 합니다.
1. 메모리 주소창에 'age'라고 입력한 것 같습니다. &age라고 입력해보시기 바랍니다.

  1. 메모리 윈도우에 보이는 0x43은 메모리 주소번지 입니다.

  2. 주소는 메모리가 아닙니다. 1바이트 단위 메모리에 부여되는 관리 번호가 주소입니다.

  3. 3번과 같습니다.

아직 메모리에 대한 이해가 완전하지 않은 것으로 보입니다. 조금 더 시간이 필요한 상황이오니 여유를 가지고 학습을 이어가시기 바랍니다. 잘 해내실 겁니다. 건투를 빕니다!

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

배열 외 변수는 마우스로 그냥 끌어다가 하면 안되는군요

배열은 배열명이 주소라서 가능하고 일반 변수는 끌어서 넣게 되면 값을 주소로 보고 찾아가서 그러는 거군요.

이해했습니다 감사합니다!!

0

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

amadeus20님의 질문은 메모리 주소와 그 주소가 가리키는 메모리 값, 그리고 메모리에서 변수가 어떻게 표현되는지에 대한 궁금증 같습니다. 대단히 세밀하고 핵심적인 부분을 짚으셨네요. 이러한 주제는 프로그래밍, 특히 C 언어 학습의 중요한 부분입니다. 메모리와 주소, 값에 대한 이해는 프로그램의 동작 방식과 데이터 처리 방식을 이해하는 데에 있어 매우 중요합니다.

조금이나마 도움이 될 수 있도록 관련된 기존 질문에 대한 답변 링크를 여기에 소개해드리겠습니다.

  1. 정수형태 변수 메모리상 확인방법 및 단순 대입 관련 문의: 정수형태 변수 메모리상 확인방법 및 단순 대입 관련 문의에 답변된 내용은 메모리 상의 데이터 표현 방식과 변수의 메모리 저장 방식을 이해하는 데 도움이 될 것입니다.

  2. 메모리 관련하여 질문드립니다: “메모리 관련하여 질문드립니다”에서는 바이트 주소와 워드, 메모리 속의 데이터 표현 등에 대해 다룹니다. 질문하신 내용과 연관이 깊으며 메모리 주소와 그 구조에 대한 이해를 돕는 답변입니다.

이러한 내용은 강의 내용을 따라가면서 점차적으로 이해될 부분도 많으니, 궁금증이 생긴다면 강의를 진행하면서 관련 부분을 다시 확인해 보는 것도 좋은 방법입니다. 또한, 프로그래밍은 실습을 통해 많이 배우게 되는 분야이기 때문에, 코드를 작성하고 디버깅하는 과정에서 생기는 궁금증들은 공부하는 데 아주 중요한 동기부여가 됩니다.

질문하신 내용은 상당히 깊이 있는 고민에서 나온 질문들로 보입니다. 이런 궁금증을 가지고 계신다는 것은 이미 뛰어난 학습 태도를 가지고 계신다고 볼 수 있습니다. 제공된 링크를 통해 부분적으로나마 궁금증이 해소되길 바라며, 공부를 계속하시면서 점차적으로 코딩과 프로그램의 동작 원리에 대한 이해가 높아질 것입니다.

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

amadeus20님의 프로필 이미지
amadeus20

작성한 질문수

질문하기