아기가 태어나 엄마,아빠를 말하는 법을 처음 배우듯, 프로그래밍도 말하는 법을 처음 배우게 된다.
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을 대입." 라는 뜻으로 볼수 있다.