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 버전을 사용하였습니다.
다음 강의 (2강 - 변수)
'C > 기초부터 하는 C 강좌' 카테고리의 다른 글
C 강좌 0강 - C 언어란? (0) | 2020.11.08 |
---|