♤ Hi, I'm Rirniki


    4번째 강의 입니다, 이번강의는 printf함수의 추가기능인 서식문자에 대해 알아볼까 합니다.


    이에 앞서, 이전시간에 강의해드린 Escape Sequense도 추가기능 이였죠.

    이번에 해볼 서식문자 또한 같은이치로 이해하시면 될 것같습니다.


    그리고 프로그래밍 이라는 분야가, 영문표기가 많은데요. 가급적 영문표기는 하지않고

    한글표기로 표시할 생각이니 참고 바랍니다.







    서식문자, 뜻을 알아 보도록 합시다.

    서식문자란, 콤마 연산자를 이용하여 printf함수로 지정하는

    변수,상수를원하는 진수(2,8,10,16)로 출력할수 있게 해줍니다.


    변수 : C언어에서 변수란, 어떠한 데이터를 저장하거나 불러오기위해 선언하는

    일종의 '저장공간'을 뜻합니다.

    수학적 의미로는 '변할수 있는 수'라는 해석도 됩니다, 다만 C언어에서는 '변할수 있는 수'의

    의미도 있지만서도, 대부분 '저장공간'의 개념이 강합니다.


    상수 : C언어에서 상수란, '변경이 불가능한 수'가 되겠습니다.

    예를들면, 40,50,2,3 같이 '이미정해진'값을 뜻합니다.



    진수라는 단어가 이해에 있어 어려움이 있으신분은

    다음링크로 날아가보도록 합니다.


    '진수의 뜻을 알아봅니다'





    그럼 바로 실습 진행 하겠습니다.





    printf("Program1 : %d\nProgram2 : %d\nProgram3 : %d\n");

    바로 위에 있는 사진에는 우리가 '보던것'과 '못보던'것이 있습니다.


    첫번째로 보던것은, printf함수와 \n이죠, 그리고 새로 추가되 처음보는것은 %d 입니다.

    여기에서, 처음보는 %d가 서식문자에 속하게 됩니다.


    현재로써는 서식문자의 뜻과 사용방식, 그리고 3가지의 서식문자만 알고 넘어가면 될것 같습니다.


    일단, 해당 소스를 컴파일하면 나오는 결과물을 보고 판단해야겠죠?



    (출력된 값은 다를수 있습니다.)


    여기에서 우리는 %d라는 문자열이 알수없는 숫자를 출력 하였다는 것에

    궁금증을 펼칠 필요가 있습니다.


    그리고 컴퓨터마다 다른숫자를 출력한다? 이 또한 이상합니다.

    무엇때문일까요?


    '%d'는 말씀드렸다 싶이 "서식문자"입니다. '서식' 서술한다는 뜻이겠죠?

    무엇을 해석하느냐? 어딘가에 있는 값을 '어떠한 방식으로 출력하겠느냐?' 거죠.


    그 어딘가가 어디에 있느냐? -> 그것을 이제 말씀 드리려 합니다. 자! 잘 보세요.


    아까 출력된 숫자는 '특정되지 않은 수' 였죠? 그 이유는 바로, 그 어딘가에 있을 '값'을

    '지정해 주지 않았기' 때문 입니다. 어딘가에 있어야 할 값이 없으니

    불특정한 값을 출력 했다고 보면 됩니다.


    그러면 '어디'에 '어떻게' 지정해줘야 정상적인 값이 출력되느냐?

    다음그림을 주목 합시다!




    여기에서 우리는 또 다른 '값'이 '어딘가'에 덧붙여 진것을 알수 있습니다.


    printf("Program1 : %d\nProgram2 : %d\nProgram3 : %d\n",100, 200, 300);


    같은 색상끼리 '값'을 해석해 주고 있는것입니다. (값을 10진수로 출력 : %d)


    하지만 처음에 보여드린 그림에는 해석할 '값'이 지정되지 않았었죠?

    알수없는 숫자가 출력되는 이유를, 우리는 방금의 설명으로 이해 할수 있습니다.


    서식문자는 이러한 기능을 하는 것 입니다.

    어딘가에 있는 값을 원하는 진수로 변환하여 출력해 주는것이 되죠.

    저기 숫자 앞에 있는 문자는 ',' "콤마"라고 부릅니다.

    이 콤마의 기능은 값을 각각 구별할수 있도록 나눠줍니다.


    그렇다면 결과로 어떻게 나오는지 확인하셔야 겠죠 ?





    Posted by 비오는 밤 레드와인과