작성
·
257
1
4.3 문자열이 메모리에 저장되는 구조 13:15 질문입니다
실행했을때 위 동그라미1까지는 문자가 출력되었고 동그라미2에서는 숫자가 출력됐는데요
그 이유가 동그라미2는 배열에 있는 '값'들을 접근해서인가요? '값'은 출력될때 숫자로 출력되어야 해서..인가요?
그리고 동그라미2에서 앞에 %hhi %hhi %hhi 이거요 왜 hhi를 써줘야 되나요?
답변 1
2
안녕하세요, 답변 도우미 Soobak 입니다.
두 가지 질문이 관련이 있네요!printf()
함수의 서식 지정자 때문입니다.
서식 지정자 %hhi
는 문자 값을 char
타입의 값을 부호 있는 8비트 정수로 출력하기 위한 서식 지정자입니다.
기본적으로 C언어에서 문자는 ASCII 코드로 저장이 되기 때문에, 해당 코드 값을 정수로 출력하면 ASCII 코드에 해당하는 숫자가 출력됩니다. 따라서, 동그라미2 에서는 문자 대신 ASCII 코드의 값이 출력된 것입니다.
printf()
함수의 서식 지정자들에 대해서는 강의 4.7 printf() 함수의 변환 지정자들 에서 보다 자세히, 다시 한 번 학습하시게 됩니다.