Develop/C

C언어 프로그래밍 기초 정리 #8. C프로그램의 기초 - main 함수

이준환 2023. 3. 20. 14:47
반응형

- c프로그램 코드는 대부분 함수로 이루어짐

- 보통 프로그램의 시작 지점을 Entry Point라고 하는데 시작 지점은 특별한 약속된 이름을 가진 함수가 되며 시작 함수(Entry Function)라고 함

  ㄴ> c프로그램의 시작 함수의 이름은 main이며, c프로그래밍은 main 함수를 작성하는 것으로 부터 시작된다.

- 프로그램이 실행 된다는 것은 최초에 main 함수가 호출 되었음을 의미

main 함수의 두가지 형식

int main() int main(int a, char v)
int main()
{
 ...
}
int main(int a, char v)
{
  ...
}
- 이 main은 매개변수가 없다.
- 프로그램 함수는 매개변수가 없을 수 있다.
- 매개변수가 없다 해도 함수 이름 옆에는 빈 괄호가 반드시 있어야 한다.
- 이 main은 매개변수가 2개 이다.
- 매개변수가 있는 main의 경우,
- 프로그램을 실행할때 특정 정보를 전달하기 위함이다.

⭐️ 한 프로그램에 main 함수는 오직 하나만

#include<stdio.h>

int main()
{
	printf("난생처음");
    return 0;
}

int main(int argc, char** argv)
{
	printf("C 프로그래밍");
    return 0;
}

이 코드에는 int main() 함수에 이미 본문이 있습니다. main의 이전 정의를 참조하시오. 라는 에러가 발생한다.

- 이때 main은 형삭애 상관없이 프로그램에 오직 단 한개만 존재해야 한다.

- 여러 main이 한프로그램에 존재한다면 컴퓨터는 어떤 main부터 우선적으로 호출해야 하는지 결정을 하지 못하기에 한개만 사용한다.

main에서 return을 생략하는 경우 

#include <stdio.h>

int main()
{
	printf("난생처음 C 프로그래밍");
}

위 코드 main함수 본체 끝에서 "return 0;" 구문을 삭제 했는데, 오류가 발생 할 것이라 예상 되지만 작동이 된다.

main 함수의 반환 타입이 int이므로 반드시 return을 통해서 정수형 값을 반환해야 할 것 같지만,

main함수 에서는 return을 생략이 가능하다.

⭐️ 왜냐하면 main 함수 본체에서 명시적으로 return이 보이지 않을 경우 컴파일러가 기본적으로 0으로 반환되는 코드를 추가 해준다.

Compiler : 코드를 기계어로 변환 해주는 것

 

#c언어 #c프로그래밍 #c언어기초 #기초 #main #return생략

반응형