주소와 메모리

오늘 문득 프리렉에서 나온 포인터에 관한 책을 펴봤다.
프로젝트를 빌미삼아 구입한 책인데 시간이 없어서 넣어뒀다가 오늘에서야 보게 되었는데 전반적으로 쉽게 설명하려고 노력한 것 같았다.

다음 코드를 살펴보자.



출력은 다음과 같다.
41  A

위의 출력 결과가 나오는 이유가 무엇일까?
신고

'Basic Security > _Programming' 카테고리의 다른 글

[C언어] atoi() 함수  (0) 2007.12.20
[C언어] Escape Set  (0) 2007.12.18
[C언어] 문제) 주소와 메모리  (2) 2007.11.27
[XML_DOM] DOM Specification  (0) 2007.10.13
[XML_SAX] DeclHandler Programming  (0) 2007.10.13
[XML_SAX] LexicalHandler Programming  (0) 2007.10.13
Posted by Proneer
TAG ,

댓글을 달아 주세요

  1. %c는 char를 출력합니다. n의 int에서 char로 타입케스팅이 이루어 지면서,
    하위 1바이트만 쓰이게 됩니다. 이때 값이 hex값으로 41이 나오고, 이 값은 ASCII 값으로 대문자 A가 되는군요.

    2007.12.18 09:40 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 네 맞습니다.
      하지만 char는 기본적으로 signed로서 32비트 시스템을 기준으로 했을때 마지막 바이트의 MSB의 값에 따라서 결과가 달라지더군요.
      마지막비트의 MSB가 1이 아니라면 char 크기에 해당하는 값만 나오는데 MSB가 1이면 앞의 3바이트 모두 1로 채워지는 현상이 발생하세요.
      혹시나 아시는지...?

      2007.12.18 10:09 신고 [ ADDR : EDIT/ DEL ]


티스토리 툴바