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생략
반응형