저번에는 Visual Studio Community 2022를 설치하는 포스팅을 진행했었습니다.
혹시 기억나지 않으신다면 아래의 포스팅을 클릭해서 읽고 와 주세요!
2022.12.29 - [IT/C and C++] - [C] visual studio 2022 설치 및 작동
[C] visual studio 2022 설치 및 작동
아무리 프로그래밍 언어를 능숙하게 구사하여 프로그램을 작성하더라도, compiler가 없으면 쓸모가 없습니다. 오늘은 프로그램 작성의 편의와 작성 후 컴파일을 위해 컴파일러 Visual Studio 2022를 설
timemory.tistory.com
이번에는 위의 포스팅에서 마지막에 작성했던 Hello, World 소스 코드의 분석을 해보고자 합니다.
갑시다!
목차
소스 코드
소스 코드는 다음과 같습니다
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
#include <stdio.h> -- 1번
int main() {} -- 2번
printf()와 return -- 3번
순으로 분석을 진행할 테니 천천히 따라와 주시면 됩니다.
#include <stdio.h> 분석!
프로그래밍할 때, 아무것도 없는 상태에서 시작하면 힘들겠죠?
C/C++ 같은 경우 간단한 입력과 출력을 위해서 매우 힘든 작업을 거쳐야만 합니다.
근데, 우리가 프로그래밍 고수도 아니고 처음부터 이러한 작업을 할 수도 없잖아요?
또한, 프로그래밍할 때마다 관련 내용을 처음부터 조직하는 것은 매우 힘든 일입니다. 생산성도 떨어지고요.
그래서 C에서는 [헤더]라는 파일에 기능들을 모아놓습니다.
이를 프로그래밍 할 때, 불러오는 명령어를 사용해서 [헤더] 안에 있는 기능들을 사용하는 방식으로 프로그래밍이 이루어집니다.
Visual Studio에서는 기본적으로 제공되는 헤더가 많습니다. (다른 컴파일러도 많아요.)
이렇게 제공되는 헤더 중 하나가 [stdio.h]입니다. (참고 : 헤더파일은 확장자명이 .h입니다!)
stdio.h는 Standard Input/Output의 줄임말로, 다양한 입출력 관련 기능을 제공합니다.
이제 이 stido.h를 #include를 통해서 불러와야 합니다. 형식은 다음과 같습니다.
#include <파일 이름.h>
#include "파일 이름.h"
참고 : 확장자명이 h가 아닌 경우도 있습니다.
두 방식의 차이점은 검색 순위입니다.
기본적으로 제공되는 헤더 외에도 우리가 직접 헤더 파일을 작성할 수 있습니다.
이때, 헤더파일이 있는 곳은 2가지로 생각할 수 있겠죠?
기본 제공 헤더 파일이 있는 곳과 우리가 작성한 헤더파일이 있는 곳이 있습니다.
#include에서 < >를 이용하면 기본 제공 헤더 파일이 있는 곳을 우선 탐색합니다.
""를 이용하면 우리가 작성한 헤더파일이 있는 곳을 우선 탐색하고요.
물론, < >를 사용해도 기본 제공 헤더 파일이 있는 곳의 탐색에서 헤더 파일을 발견하지 못하면 우리가 작성한 헤더파일이 있는 곳을 탐색하게 되어있습니다. 반대도 마찬가지이고요!
그러나 관습상, 가독성과 협업의 편의성을 위해서 기본 제공 헤더 파일을 사용할 때는 < >로 작성 헤더 파일을 사용할 때는 " "를 써주는 것이 좋습니다.
int main() {} 분석!
당장에 이를 완벽하게 분석하는 것은 꽤 힘드실 겁니다.
그러니까 간략하게 소개만 하고 넘어갈게요!
int는 정수형 type을 뜻합니다. 정확히 말하면 return 값이 정수형이 된다는 뜻인데 별로 중요하지는 않습니다.
main()은 함수의 이름입니다. 이때, 지금과 같이 이름이 main()인 경우 [메인 함수]로 불리며 프로그램의 시작 부분이 됩니다. 프로그램의 동작은 모두 main 함수 내에서 이루어집니다!
{}는 메인 함수의 범위입니다. 이 안과 바깥을 기준으로 메인 함수냐 아니냐가 나뉩니다. 메인 함수는 프로그램의 시작 부분이자 모든 동작이 이루어지는 곳이므로 이곳 내부에서 코드를 작성해야 합니다.
간단하게 메인 함수를 알아보았습니다.
완전히 이해가 안 된 분들이 많으리라고 생각해요.
그래도 그냥, 프로그램이 시작하기 위해서는 '이렇게 작성하고, { }안에 코드를 넣어야겠구나' 하시면 됩니다.
printf, return 분석!
printf는 헤더 [stdio.h]에 포함된 함수 중 하나입니다.
자꾸 함수라는 용어가 등장하는데 그냥 동작을 하나로 묶어놓은 거로 생각하시면 됩니다.
그냥 하나의 목적을 위해서 짜인 코드라고 보시면 됩니다.
printf는 출력을 위한 함수입니다. 다양한 기능이 있지만, 기본적으로 ( )내에 있는 문자열을 출력해 줍니다.
지금 같은 경우 "Hello, World!"를 출력해주는 기능을 수행한다고 보시면 됩니다.
return은 함수를 끝내는 명령어입니다. 함수를 끝내는 기능을 수행하기에 현재 포함된 메인 함수를 종료하는 코드가 되겠죠?
메인 함수는 프로그램의 모든 동작의 기본 바탕이 되므로, return으로 메인 함수를 종료하면 프로그램이 종료하게 되어있습니다.
return 뒤에 붙은 숫자 0은 리턴값입니다. 함수를 실행한 곳으로 리턴값을 전달하게 되는데, 당장에 이 값이 어디로 가는지를 이해하는 것은 힘듭니다. 참고로 1로 해도 종료는 잘 되니 값 자체에 큰 비중을 두지 않으셔도 됩니다.
또한, 몇 가지 경우를 제외하면 모두 뒤에 ;(세미콜론)을 붙입니다. 이거 때문에 프로그램이 실행되지 않는 경우도 많으니 조심히 해주세요. 습관을 들이도록 연습합시다. (사실 어느 정도 프로그래밍 하다 보면 자동으로 손이 ;로 가 있습니다. ㅋ)
마무리
이번에는 Hello, World 소스 코드를 분석해보았습니다.
간단한 분석이라 제대로 이해가 되지 않으신 곳들도 많으리라 생각합니다.
소스 코드의 각 부분은 프로그래밍의 기본적인 요소이자, 가장 중요한 부분을 설명하는 곳이므로 개별적으로 추가 포스팅을 할 예정입니다.
벌써 프로그래밍하고, 프로그램을 만들었습니다.
여기까지 오셨으면 프로그래밍의 30%를 알고 계신 것이라 봐도 무방하겠네요.
다음 포스팅에서 뵙시다.
'IT > C and C++' 카테고리의 다른 글
[C] 함수란 무엇이고, 어떻게 사용하나요? (1/2) (0) | 2022.12.30 |
---|---|
[C] 변수란 무엇이고, 어떻게 사용하나요? (0) | 2022.12.29 |
[C] printf 함수를 알아보자! (0) | 2022.12.29 |
[C] visual studio 2022 설치 및 작동 (0) | 2022.12.29 |
[C]프로그래밍을 시작하는 방법 (0) | 2022.12.29 |
댓글