같이 배우는 C언어

printf, %d, int

아기가 태어나 엄마,아빠를 말하는 법을 처음 배우듯, 프로그래밍도 말하는 법을 처음 배우게 된다.

c언어에서는 문자를 출력하기 위해 printf라는 코드를 이용한다.

#include <stdio.h>

int main()
{
    printf("Hello");
}

다음과 같은 코드를 입력하면 Hello라는 값이 출력된다. 처음 보았을떄 #include <stdio.h> 혹은 int main()은 무엇이지? 라는 의문이 생길수 있으나 우선은 넘어가고 printf라는 코드에 집중하도록 하자. 코드를 보면 알수 있듯이 출력하고자 하는 내용은 반드시 큰따옴표""로 감싸야 한다. 또한 c언어에서는 각 코드 뒤에 세미콜론(;)이란걸 반드시 붙여야 한다. 

이런 코드정도는 어렵지 않지만 나는 다음과 같은 코드를 처음봤을때 이해하는데 시간이걸렸는데,

#include <stdio.h>

int main()
{
    printf("%d %d",100,200);
}

이러한 코드이다. 이 코드의 출력 결과는 100 200 인데,

%d라는 코드를 처음 보고 매우 낯설었기에 한번에 이해하기 힘들었다. %d같은 코드를 서식이라고 부르는데,이런 코드를 출력하는 방식은 이러하다.

%d라는 문자 안에 뒤에있는 정수가 입력돠는 형식이다. %d는 정수형 서식이기 때문에 5.7같은 숫자를 입력하더라도 5가 출력된다. 이와 같은 결과를 출력하는 코드를 이러한 방식으로도 작성할수 있는데, 

#include <stdio.h>

int main()
{
    int A;
    A = 100;
    int B = 200;
    printf("%d %d",A,B);
}

위의 코드는 100,200을 직접 입력한 반면 이 코드는 100,200 대신 A,B를 사용하였다. 여기서 int라는 코드가 사용되었는데,"int A" 이것을 "A라는 변수가 선언되었다"라고 말할수 있다.

변수란 무엇일까? 쉽게 말하면 "값을 담는 그릇"이라고 할수 있다. 즉 int A 는 정수 값을 담을수 있는 A라는 그릇을 만들었다 라고 해석할수 있다. 그리고 "A = 100"이라는 코드는 100이라는 숫자를  A라는 그릇에 담았다 라고 생각하면 쉽다. 여기서 (=)는 우리가 알고있는 "같다"라는 의미와는 조금 다른데, 우리가 알고있는 "A = 100"의 의미는 "A와 100은 같다."일것이다. 그러나 c언어에서는 "A라는 변수에 100을 대입했다"라는 의미이다.

따라서 "A = 100" 이라는 코드와  "100 = A"라는 코드는 완전히 다르다고 볼수 있다.

그리고 처음 c언어를 배우는 사람이라면 "int A","A = 100" 이러한 두 코드와 "int B = 200"이러한 코드가 다른 의미의 코드라고 생각할수 있는데, 그렇지 않다. "int B = 200"이라는 코드는 단순히 "int B"와 "B = 200"이라는 코드를 합쳐서 쓴것 뿐이다.

즉 A같은 경우, "A라는 변수를 선언."  "A라는 변수에 100을 대입." 이고,

B같은 경우는, "B라는 변수를 선언하고, 200을 대입." 라는 뜻으로 볼수 있다.

댓글

댓글 본문
작성자
비밀번호
버전 관리
얌얌
현재 버전
선택 버전
graphittie 자세히 보기