C/기초부터 하는 C 강좌

C 강좌 1강 - 출력(printf)

kim선달 2020. 10. 25. 23:15
Select Language

 

 

 

1. Hello, world!

선호하시는 편집기를 사용하여, main.c 라는 파일을 만들어 줍니다.

[Windows 에서 C언어 컴파일하기 링크 이곳에]

[MacOS 에서 C언어 컴파일하기 링크 이곳에]

[Linux 계열에서 C언어 캄파일하기 링크 이곳에]

 

그리고 해당 파일에 아래 내용을 복사 & 붙여넣기 혹은 직접 타이핑을 해 봅시다.

 

#include <stdio.h>

int main(){

  // 헬로 월드 출력
  printf("Hello, world!");

  return 0;
}

 

해당 코드를 컴파일 하고 실행하면, 

 

Hello, world!

라는 값이 화면에 나옵니다.

 

 

그럼 소스 코드를 하나 하나 뜯어볼까요?

 

 

 

#include <stdio.h>

이 문장의 의미는 stdio.h 라는 표준 파일 안의 내용을 여기에 붙여넣겠다는 뜻입니다.

컴파일을 하게 되면, 진짜 문자 그대로 복사 & 붙여넣기를 수행하게 됩니다.

이 때문에 PC 성능이 안좋던 과거에는 컴파일 속도를 빠르게 해 보겠다고 PImple 등 별의 별 꼼수를 다 썼었다고 합니다.

 

#include 는 "매크로"(macro) 라고 불리는 것 들의 한 종류이고, stdio.h 는 C 언어의 표준 라이브러리 헤더 이름입니다.

표준 라이브러리는 무조건 이름 양쪽에 꺽쇠(<, >)를 사용해야 합니다.

stdio.h를 가져오는 이유는, 사용할 printf 함수가 저 파일 안에 정의되어 있기 때문입니다.

 

띄어쓰기는 해도 되고, 안 해도 됩니다. 여러번 띄워 써도 상관 없습니다.

 

 

int main(){
    // ...
    
    return 0;
}

이 부분이 한 덩어리입니다.

이녀석은 함수 라는 녀석입니다만, 조금 특별한 녀석입니다.

C 언어는 컴파일, 실행 시에 main 이라는 함수를 찾아 호출하게 되므로, 프로그램의 가장 첫 실행 출발점입니다(전역 변수 제외)

함수는 더 뒤에서 설명할 예정이니, 일단은 main 함수는 이름을 바꾸면 안된다는 것만 알아두시면 되겠습니다.

함수의 내용은 중괄호 ({, }) 안의 적게  됩니다.

 

// 가 있는 부분은 주석입니다.

컴파일 시에, //가 있는 줄 전체가 무시가 되서 주로 코드에 대한 설명 등을 적게 됩니다. (사람이 보라고 적는 곳입니다)

 

 

// 헬로 월드 출력
printf("Hello, world!");

printf 는 표준 헤더인 stdio.h 에 정의되어 있는 표준 출력 함수이고, "Hello, world!"문자열을 뜻합니다.

다시 말하면, printf 함수에 Hello, world! 라는 문자열(의 주소)을 전달해 주는 것입니다.

이 단계에서 실제로 화면(출력 창)에 Hello, world! 라는 글자가 출력되게 됩니다.

 

 

제일 끝의 ;는 세미콜론(semi colon)으로 문장의 끝이라는걸 표시해 주는 역할을 합니다.

C, C++ 에서는 문장 끝에 해당 녀석을 붙이지 않으면 컴파일 시에 에러가 나게 됩니다.

그렇다고 아무데서나 다 붙이면 안됩니다

구시대 언어의 부산물 같은 것이라... 불편하지만 강의를 들으시다 보면 자연스레 붙이는 위치를 알게 되실 겁니다.

 

 

위 내용들을 대충 풀어서 다음처럼 머릿속에서 그려 보시면 됩니다

// 표준 라이브러리 헤더 파일인 stdio.h 의 내용을 가져오고
#include <stdio.h>


// 프로그램의 시작
int main(){

  // stdio.h 안의 printf 함수에 "Hello, world!" 를 전달해준다
  printf("Hello, world!");
  // 이제 화면에 Hello, world! 가 출력되었다!
  

  return 0;
}
// 프로그램이 끝났다.

 

 

아직 감이 잘 안 오실 수 도 있는데, 강의를 따라 차차 진행하시다 보면 자연스럽게 아시게 될 겁니다.

이해가 잘 되지 않는다면 댓글로 얼마든지 남겨주세요!

 

 

 

 

 

해당 강좌에서는 CLion 과 clang 11.0.3 버전을 사용하였습니다.

 

이전 강의 (0강 - C 언어란?)

다음 강의 (2강 - 변수)

'C > 기초부터 하는 C 강좌' 카테고리의 다른 글

C 강좌 0강 - C 언어란?  (0) 2020.11.08