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

[C언어] C언어 Hello World 출력해보고 한 줄 한 줄 뜯어보기

by HI_Ai 2023. 9. 6.
반응형

C 언어의 가장 기본적인 'Hello World' 출력에 대해 알아보겠습니다.

 

기본 코드:

#include <stdio.h>

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

 

이제 코드에 대해 한줄 한줄 해석해보겠습니다.

 

1. #include <stdio.h>

. <stdio.h>는 표준 입력/출력 헤더 파일로, 가 포함되어 있습니다. 따라서, 우리가 printf() 함수를 사용하려면 이 헤더 파일을 포함시켜야 합니다.

C 프로그램은 여러 라이브러리와 헤더 파일을 활용합니다. 입력과 출력 함수(예: printf(), scanf())에 대한 정의와 관련 매크로가 포함되어 있습니다. 헤더 파일에는 함수, 변수, 매크로 등의 선언이 포함되어 있습니다. 이를 프로그램에서 사용하기 위해 #include 지시어로 해당 헤더 파일을 포함시킵니다. #include는 전처리기 지시어라고 합니다. 우리가 printf() 함수를 사용하려면 이 헤더 파일을 포함시켜야 합니다.

<stdio.h>는 "standard input-output header"의 줄임말로, 표준 입출력 관련 함수들의 선언을 포함하고 있습니다

 

2. int main(void)

main 함수는 C 프로그램의 시작점입니다. C 프로그램은 항상 main 함수에서 시작하여, main 함수가 종료되면 프로그램도 종료됩니다.
int는 main 함수의 반환 타입을 의미합니다. 즉, main 함수가 종료될 때 정수 값 하나를 반환한다는 것을 나타냅니다.
(void)는 이 함수가 매개변수를 받지 않는다는 것을 나타냅니다. 만약 인수를 받는다면, 괄호 안에 그 인수의 타입과 이름을 명시하게 됩니다.

 

int는 정수값을 반환하는데 출력은 'hello world' 즉 문자값이 나오게 되는데 왜 그런걸까요??

int는 main 함수의 반환 타입을 나타냅니다. 즉, main 함수가 종료될 때 반환하는 값의 타입이 정수(int)임을 의미합니다. 프로그램이 종료될 때 main 함수는 값을 운영 체제에게 반환합니다. 대부분의 시스템에서, main 함수의 반환 값 0은 프로그램이 에러 없이 정상적으로 종료되었음을 나타냅니다. 다른 숫자 값을 반환하면, 특정 에러나 상태 코드를 나타낼 수 있습니다. printf 함수는 화면에 출력만을 담당하며, 이 출력과 main 함수의 반환 값은 전혀 관련이 없습니다.

 

3. printf("hello world \n");

printf는 C 언어의 표준 라이브러리 함수 중 하나로, 문자열이나 변수 값을 화면에 출력하는 데 사용됩니다.
"hello world \n"는 출력할 문자열입니다. 여기서 \n은 이스케이프 시퀀스로 줄 바꿈을 나타냅니다. 따라서 출력 결과는 "hello world" 다음에 줄이 바뀌게 됩니다.

 

C 언어에서 `;`는 문장의 종료를 나타내는 기호입니다. 각 코드 문장의 끝에는 `;`를 붙여야 합니다. 따라서 `printf("hello world \n");`와 같은 문장 뒤에 `;`를 붙이지 않으면 컴파일 에러가 발생하게 됩니다.

또한 문자열은 항상 큰따옴표 `"`로 둘러싸여 있어야 합니다. 예: `"hello world"`. 작은따옴표 `'`는 단일 문자를 나타냅니다. 예를 들어, `'a'`는 문자 a를 나타냅니다. 따라서 `printf`와 같은 함수에서 문자열을 출력하려면 반드시 큰따옴표를 사용해야 합니다. 작은따옴표를 사용하여 문자열을 출력하려고 하면 컴파일 에러가 발생합니다.

4. return 0;

프로그램이나 함수가 값을 반환할 때 return 문을 사용합니다. main 함수에서 return 0;은 프로그램이 문제없이 종료되었음을 나타내는 관례입니다. 일반적으로 0은 "성공"을 의미하며, 0이 아닌 다른 값을 반환하는 것은 특정 오류나 상태를 나타내기 위해 사용됩니다.

반응형