반응형
【 C 언어 】 #34 변수의 메모리 번지(주소) 이해하기
변수가 정의 될 때는 변수 값을 저장할 메모리 공간(정수형 변수는 4바이트)을 확보하고 그 주소를 지정(기억)하게 된다. 프로그래밍이 처리 되는 과정에서 데이터가 저장된 메모리의 번지를 이용해서 값을 불러오거나 처리할 수 있게 된다.
▶ 문제 : 변수 i =0 와 j =1 를 선언하고 초기값 0과 1을 준다. 각 변수가 지정된 메모리 번지를 출력하라.
▶ 포인트 :
printf() 함수를 이용해서 메모리 번지를 출력 할 수 있으며, (정수형)값을 나타내는 %d 대신 %p 를 사용하며, 변수의 메모리 번지를 넘겨주기 위한 '번지 지정 연산자(&)'를 사용하면 번지를 출력할 수 있다.
▶ 프로그램 :
▶ 실행 결과 :
▶ 보충설명 :
j는 0062FE48~0062FE4B , 4바이트의 메모리 공간으로 지정 되어 있으며 시작번지가 0062FE48 이다. 여기에 데이터 1의 값이 저장되어 있다.
i는 0062FE4C~0062FE4F , 4바이트의 메모리 공간으로 지정 되어 있으며 시작번지가 0062FE4C 이다. 여기에 데이터 0의 값이 저장되어 있다.
아래 변수와 메모리와의 관계 도표를 보면 쉽게 이해가 갈 것이다.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
▶ 소스코드 다운로드 :
반응형
'Language > C & C++' 카테고리의 다른 글
【 C 언어 】 #36 문자열 포인터 이해하기 (0) | 2018.04.23 |
---|---|
【 C 언어 】 #35 포인터 이해하기 (0) | 2018.04.23 |
【 C 언어 】 #33 배열 이해하기 2 (국영수 성적 예제) (0) | 2018.04.16 |
【 C 언어 】 #32 배열 이해하기 (0) | 2018.04.16 |
【 C 언어 】 #31 ASCII 코드 - 문자열 이해하기 (0) | 2018.04.13 |