본문 바로가기
프로그래밍/C

1. C언어 (hello world)

by Choraengyi 2017. 1. 5.

 C언어에 대해 복습겸해서 간단하게 올려볼까 합니다.


제일 먼저 컴퓨터에서 거의 걸음마처럼 들은 hello world 부터 시작하겠습니다.


우선 코드를 적고 실행과정과 해당 소스에 대해 알아보겠습니다.


IDE 환경은 "Dev-C++"을 사용하였습니다.



#include <stdio.h>

main(){

printf("Hello, World\n");

}


우선 맨윗줄의 #include 는 헤더 파일을 불러오는 것 입니다. 그러면 stdio.h 는 헤더 파일이 되겠습니다. 


헤더파일은 라이브러리의 개념으로 보면 됩니다. 미리 만들어져 있는 함수를 가져다가 쓰는 것입니다. 세번째 줄의 printf 함수 의 경우에도 stdio.h 헤더가 없으면 사용하지 못하는 개념입니다. 이러한 헤더함수는 개인적으로 만들 수도 있습니다. 이점은 나중에 알아보기로 하고 일단은 저 맨위의 #include <stdio.h> 가 무엇을 하기위해 있는지 알고 넘어가면 됩니다. 간단히 말해 헤더파일에 정의되어 있는 함수를 가져다 쓰는 것입니다. 헤더파일도 종류가 여러가지 있습니다.


다음으로 main()이라고 표시된 부분인데, 저런 형식으로 "함수명() { }" 써지게 되면 함수를 선언하는 것입니다. 헤더파일에서 제공하는 함수들 또는 여러 수의 연산 등 사용자가 원하는 기능을 정의할 수 있습니다. 여기서 main 함수는 특히 특별한 함수 입니다. main 함수는 프로그램의 실행, 시작함수라고 보시면 됩니다. 다른함수를 실행하거나 불러오거나 모든 기능을 main 함수에서 사용합니다. 그렇기 때문에 main 함수는 모든 코딩에서 필수가 됩니다. 전에 main 없이 코딩하는 법을 올렸었는데 그것도 어차피 main 함수를 돌려서 표현한 것이기 때문에 main 함수는 꼭 필요 합니다.


2016/12/22 - [etc] - main 함수 없는 C 언어??

 

그리고 main 함수 안에는 printf 라는 함수가 있습니다. stdio.h에서 제공하는 함수로서 괄호안의 여러 문장, 문자 등을 출력하는 역할을 합니다. 저기에 보면 World 뒤에 \n 으로 된것이 있는데 이는 다음줄로 넘어가는 것으로서 마치 메모장에서 Enter의 역할과 같다고 보시면 됩니다. C언어에서는 \n 이 문자로 다음줄로 넘기게 됩니다.


대강 설명을 했습니다. 그렇다면 이 코딩은 문자열 출력 프로그램 정도로 이름을 붙일 수 있을거 같습니다. main 함수에서 실행하는 함수가 Hello, world 이기 때문에.. 이정도로 코드 설명을 하고, 이제 실행방식을 대강 알아보겠습니다.


위에처럼 4줄로 쓴것을 소스코드라 하며 .c 의 확장자로 저장하게 됩니다. 그 다음, 전처리 과정을 거치는데 이는 #으로 시작하는 지시자들을 처리하는 과정입니다. 그 후 컴파일러에 의해 어셈블리어로 바뀌게 되고, 어셈블러에 의해 바이너리 코드로 변환 됩니다. 그 후 링커에 의해 실행파일이 만들어 지게 됩니다. 


본래 컴퓨터는 01010110 같은 이진수를 읽을 수 있기 때문에 그로 변환하는 과정이라고 보시면 됩니다. 사람이 0101010 같은 수로하면 너무 어렵기 때문에 쉽게 코딩하고 그를 변환하는 방식입니다. 보통 IDE에서는 버튼하나만 누르면 이 과정을 순식간에 해결해 줍니다.


그럼 코딩한것을 컴파일하고 실행해보겠습니다.




성공적으로 실행이 되었습니다. Hello, World 였습니다.


728x90
반응형

'프로그래밍 > C' 카테고리의 다른 글

6. C언어 (사용자 정의 함수)  (0) 2017.01.19
5. C언어 (데이터)  (0) 2017.01.14
4. C언어 (문자/문자열 입출력)  (0) 2017.01.13
3. C언어 (상수)  (0) 2017.01.11
2. C언어 (변수)  (0) 2017.01.10

댓글