작성
·
111
1
왜 주소 10 에 메모리 0 이란건가요
처음엔 아스키표에 i가 의미하는게 10이었나? 그래서 주소를 10이라고 하셨나 생각했는데 아니더라구요
왜 주소 10 에 0값이 들어간다는건지 질문합니다.
답변 1
1
안녕하세요, 질문&답변 도우미 Soobak 입니다.
말씀해주신 부분의 그림에서, '주소' 항목은 변수에 대한 임의의 메모리 주소 입니다.
강의 0.8 CPU가 일하는 방법 에서와 같이, 메모리 주소를 '번지수' 와 같이, 보다 이해하기 편한 형태로 '예시'를 든 값입니다.
(실제 메모리 주소의 형태는 컴퓨터의 환경에 따라 다를 수 있으며, 보다 복잡한 값을 가지고 있습니다. 이에 대해서는 추후에 자세히 학습하시게 됩니다.)
따라서,
int i = 0;
의 코드에서, 변수 i
가 임의의 메모리 주소 10
번지에 위치하고 있다고 할 때,i
에 0
의 값이 할당되었기 때문에 "주소 10 에 메모리 0" 으로 설명될 수 있는 것입니다.
조금 낯설 수 있는 내용이지만, 여기서는 해당 강의의 주제인 scanf()
함수는 변수 i
의 '주소' 를 이용하여 값을 저장한다는 점에 대해서만 충분히 이해를 하시고, 강의를 이어서 학습해 나아가시는 것을 추천드립니다.