본문 바로가기

C언어

<누구나 쉽게 배우는 C언어> C언어 독학 강좌 2. 프로그램의 구조

반응형

저번 글에서 다음과 같은 코드를 작성하고 실행하여 보았습니다.

#include<stdio.h> 

int main(){ 
   printf("hello world\n");
   
   return 0; 
}

이번 글에서는 우리가 적은 코드의 의미가 무엇인지 알아보겠습니다.

코드 알아보기
이제 코드가 어떤 의미인지 알아보도록 하겠습니다. 쉽게 이해하기 위해서는 컴퓨터의 입장이 되어서 보는 것이 좋습니다. 컴퓨터는 맨 위에서 부터 차례대로 코드를 읽습니다. 그리고 컴퓨터가 한 문장이라고 생각하는 기준은 ;기호 입니다. 사람의 문장에서의 마침표 역할을 한다고 보면 됩니다. 그럼 이제 컴퓨터처럼 맨 위에서 부터 한 문장씩 차례대로 보며 어떤 의미인지 알아보도록 하겠습니다.

맨 첫 줄은 #include<stdio.h>입니다. 컴퓨터가 코드를 읽기 시작했을 때에는 이 코드만 읽을 수 있으며 밑의 내용을 알 수 없다는 것을 기억하고 있으면 좋습니다. 이 첫줄은 지금은 완벽히 알 필요는 없습니다. 간단하게만 설명하자면 프로그램을 실행하는데 필요한 도구들을 가지고 오는 역할을 한다라고 할 수 있을 것 같습니다.
두 번째 줄은 (공백은 보지 않습니다. 몇줄이 뛰어져 있어도 상관 없습니다.) int main(){ 입니다. 메인이라는 말에서 추측할 수 있듯이 이곳은 실제적인 프로그램의 시작점을 알려주는 코드라고 볼 수 있습니다. 이제 이 중괄호({)가 닫히기 전까지 나오는 모든 코드들을 컴퓨터가 읽고 실행하게 됩니다.
세 번째 줄은 printf("hello world\n");입니다. 이제부터 본격적인 프로그램의 시작이라고 할 수도 있겠지요. print라는 것은 출력 한다는 뜻으로 이줄은 괄호() 안에 있는 내용을 화면에 출력 해 주는 코드입니다. 우리가 보았던 hello world라는 글자를 출력한 코드가 바로 이것입니다. 그런데 hello world라는 것 외에도 ""나 \n 등의 이상한 기호들이 있습니다. 이 글자들의 의미에 대해서는 다음에 알아보도록 하겠습니다.(hello world 라는 글자를 바꿔보면서 실행 시켜 보세요 (컴파일과 실행은 f11) 여러분이 원하는 글을 출력 하실수 있으실 겁니다. 단, ""사이에 적어야 합니다.)
( }가 나오기전 )마지막 줄은 return 0; 입니다. 이 코드는 프로그램을 종료 시키는 역할을 합니다. 이것도 자세한 내용은 다음에 알아보도록 하겠습니다.

외계어처럼 보이던 저 코드가 조금 익숙해 지셨나요? 매우 복잡해 보이지만 실제로 하는 것은 hello world글자를 출력(printf("hello world\n");)하는 것 밖에 없었습니다. 그 외의 코드

#include<stdio.h> 

int main(){ 
	/*이 사이 공간에 코딩을 하면 됩니다.*/
	return 0; 
}

는 앞으로도 계속 사용할 프로그램의 틀 이라고 생각하시면 됩니다.

아직도 어려워 보인다면 hello world를 바꿔보며 코드에 익숙해 지도록 노력해 보세요. 익숙해 질수록 쉽게 느껴집니다.

p.s. 공백(띄어쓰기)과 줄 바꿈에 대해서
c언어에서는 ;로 구분된 문장 사의의 띄어쓰기는 아무 상관이 없습니다. 즉

#include<stdio.h> 
int main(){ 
    printf("hello world\n"); 
    return 0; 
}

이 코드와

#include<stdio.h> 
int main(){
    printf("hello world\n");
    return 0;
}

이 코드는 아무런 차이가 없다는 것입니다. (주의 return과 0, int와main은 띄워 주셔야 하며 #으로 시작하는 줄들은 줄 바꿈 꼭 해 주셔야 합니다.)
그럼 왜 한 줄에 쓰지 않고 들여쓰기 까지 하면서 어렵게 쓸까요? 지금은 몇줄 안되는 코드라 보기 별로 불편하지 않지만 1000줄 10000줄씩 길이가 길어지면 보기 좋게 쓰는 것이 매우 중요해 집니다. 그러니 지금부터 예시 코드와 같은 방법으로 적는 것을 연습해 두는 것이 좋습니다.

주석에 대해서
주석이란 코드가 아닌 글을 뜻합니다. 즉 커퓨터가 실행시키지 않고 있어도 되고 없어도 되는 설명글 같은 것입니다.
주석을 쓰고 싶고 주석이 한줄 이라면 맨 앞에 //(슬래시 두개)를 적어 주시면 그 줄 전체가 주석이 됩니다.
주석이 여러줄 이라면 모든 줄에 //를 적어도 되지만 시작 부분에 /* 끝 부분에 */를 적어 주시면 그 사이의 모든 글이 주석이 됩니다. 주석은 코드에 대한 설명을 할때도 사용되고 적어 놓은 코드를 지우기는 싫지만 잠깐 실행시키고 싶지 않을 때 주석으로 만들기도 합니다.

반응형