오늘은 저번 시간에 포스팅한 printf를 좀 더
심화과정을 간단하게 알아보겠습니다.
일단 아래 간단한 예제와 결과를 보시죠!

결과 창을 보시면
65 A 41 101
이렇게 얻을 수 있는데요.
왜 이렇게 되는지 자세히 알아보도록 하죠!


1번은 num이라는 이름의 int형 변수를 선언한 거죠!
하지만 오늘은 printf에 대해서 좀 더 배우는 거 기 때문에
자료형에 대해선 다음 기회에!!
2번을 보시면 num = 65;
위에 뜻은 num에 65라는 값을 저장한다.
자 이제 65라는 값을 저장했으니 그 결괏값을 한번 보시면
%d = 65
%c = A
%x = 41
%o=101
이렇게 나온다는 결괏값을 볼 수 있는데요.
분명 우린 num에 65라는 값을 저장했는데
왜 이러한 결괏값이 나올까요?
%c를 제외하고 나면 그나마 쉽게 설명드릴 수 있습니다.
%d는 저장된 정수값을 10진수로 알려줘
%x는 저장된 정수값을 16진수로 알려줘
%o는 저장된 값을 8진수를 알려줘
라는 뜻이라고 생각하면 편하십니다.
때문에 우린 65라는 값을 저장했지만
65는 16진수로 41이고 8진수로 101이기에
위와 같은 결괏값을 얻을 수 있는 겁니다!
그럼 %c는 왜 A라고 표시 됐을까요?
이 부분은 조금 더 심화과정이 필요하기에
최대한 간단하게 이해하고 넘어갈 수 있게 설명해 보자면!!
컴퓨터는 메모리에 전기적 신호를 있고 없고로 저장하기 때문에
이건 0과 1로 표현하는 2진법과 같다고 생각하시면 편하죠!
전기적 신호가 없으면 0 있으면 1 이런식으로요!
그럼 아까 65는 2진법으로 1000001 이기에
켜짐 꺼짐 꺼짐 꺼짐 꺼짐 꺼짐 켜짐
메모리 한 부분에 위처럼 저장되어 있는 겁니다!
근데 부분을 %d %x %o에 따라서 저장된 값을
우리가 10 41 101 값을 보게 되는 거죠!
그럼 %c는 메모리에 저장된 값을
문자(그림?)로 보여줘라는 뜻입니다.
그럼이 문자(그림?)는 어떻게 보이는 거길래
A라는 값을 보여줬을까요?
이 부분은 아스키코드에 대해서 알아야 하는데요!
다음 포스팅 때 %c와 아스키코드에 대해서 알아보면서
printf부분을 마무리하면 될 것 같습니다!
그럼 다음 포스팅 때 뵙겠습니다

'c언어' 카테고리의 다른 글
| c언어C언어 집에서 독학하기 07(자료형 ) (0) | 2025.06.04 |
|---|---|
| c언어C언어 집에서 독학하기 06(printf, %c문자) (0) | 2025.06.02 |
| c언어C언어 집에서 독학하기 04(scanf) (0) | 2025.05.28 |
| c언어C언어 집에서 독학하기 03(printf) (0) | 2025.05.26 |
| C언어 집에서 독학하기 02 (비트와 바이트, 그리고 2진법 8진법 16진법) (0) | 2025.05.23 |