관리 메뉴

bright jazz music

1. Hello World 본문

Language/C

1. Hello World

bright jazz music 2022. 7. 23. 14:20
//hello.c
//표준 입출력 라이브러리
#include <stdio.h> 

main() {
  printf("Hello, \n World\n");
}

/*
c 프로그램은 하나 이상의 함수로 구성된다.
함수명은 원하는 대로 붙일 수 있다.
주프로그램(서브루틴이 아닌)의 이름은 반드시 main이라고 해줘야 한다.
main은 같은 프로그램 내에 있는 함수를 호출할 수도 있고
라이브러리에 있는 함수를 호출할 수도 있다.
라이브러리에 있는 함수를 호출하고자 할 경우 해당 라이브러리를 명시해 줘야 한다.
위 프로그램에서 사용한 printf함수는 stdio에 들어 있다.

c에서는 함수를 호출할 때 그 함수의 이름과 매개변수만 써주면 된다.
포트란, PL/1처럼 call문을 사용하지 않는다.

\n은 하나의 문자이다. 이런 문자를 이스케이프 문자라고 한다.
이스케이프 문자는 출력 양식을 정해 주는 역할을 한다.

\n : return키(엔터키)의 역할
\t : tab키의 역할
\b : backspace 키의 역할

화면에 \를 출력하고자 한다면 \\를 적어야 한다.
"(쌍따옴표)를 출력하고자 한다면 \"로 써야 한다.


*/

 

아래와 같이 쓸 수도 있다.

 

//hello.c

#include <stdio.h>

int main(void) {
  printf("Hello, \n World\n");

  return 0;
}

 

교과서에는 위와 같이 적혀있다.

그러나 C언어 사용자들은 아래와 같은 방식으로 사용하길 권하는 것 같다.

 

//hello.c

#include <stdio.h> //표준 입출력 라이브러리

int main(void) {
  printf("Hello, \n World\n");

  return 0;
}

/*
main()과 main(void)의 차이:
- main()은 어떤 파라미터를 넣든 호출될 수 있다.
- main(void)는 파라미터를 넣지 않아야만 호출된다.

main()함수 앞에 int가 붙는 이유:
return 0; 때문이다. 0이 int 타입이기 때문에 반환형인 int를 붙여줘야 한다.

0을 반환하는 이유:
해당 함수를 정상적으로 종료하고 운영체제에게 값을 반환한 후
현재 실행 중인 함수를 벗어나겠다는 의미로 사용한다.
반드시 0을 반환해야 하는 것은 아니다.
사용하지 않아도 문제는 없다.

굳이 0인 이유:
운영체제의 쉘에서 0을 true로 간주하기 때문이다.
운영체제에게 에러가 없음을 알릴 때 0을 리턴한다.

0이 아닌 값을 리턴하는 이유:
0아 아닌 다른 값을 리턴할 수도 있다.
이는 에러가 있거나 다른 동작을 했다는 의미로 사용된다.
return -1;은 일반적으로 실패했다는 의미로 사용된다.


*/

 

코드 실행:

 

c-Lang. practice

c-Lang. practice

replit.com

 

 

참고:

https://www.geeksforgeeks.org/difference-int-main-int-mainvoid/

 

Difference between "int main()" and "int main(void)" in C/C++? - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

Comments