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

김보성님의 프로필 이미지
김보성

작성한 질문수

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

16진수 표기가 사용되는 예

변수 초기화 질문

해결된 질문

작성

·

375

0

안녕하세요 최호성 개발자님

질문에 앞서 좋은 강의 제공해주셔서 감사하다는 이야기드립니다 🙂

64bit 체제에서 long int로 변수 선언 시 메모리가 8byte가 되는 것으로 알고 있고, unsigned long int ulnewData = 1UL; 로 변수를 초기화 했을 때, 01 00 00 00 16 20 09 6b라고 메모리에 초기화되었는데 01 00 00 00 00 00 00 00 으로 메모리에 초기화되어야 하는게 아닌가요?

그림의 메모리 주소인 48FC78FB29 ~ 48FC78FB2B까지 0으로 초기화되어야하는게 아닌가 싶어서 질문드립니다.

답변 1

2

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

long int 형은 32비트 형식입니다. 64비트 형식은 long long int입니다. 그런 이유 때문에 32비트만 초기화 된 것입니다. 참고하시기 바랍니다. 🙂

메모리를 직접 확인하는 습관은 C언어 개발자에게 매우 중요합니다. 지금 대단히 잘 하고 계신 겁니다. 앞으로도 이런 접근방식으로 학습을 이어간다면 좋은 결과를 얻을 수 있다 확실하게 말 할 수 있습니다.

김보성님의 프로필 이미지
김보성

작성한 질문수

질문하기