Main 함수는 매우 중요한 함수이다.
C에서 Console Program을 만들 때, 없어서는 안 될 함수가 Main 함수이다.
Main 함수는 다음과 같다.
int main() {
// Code..
// Code..
return 0;
}
Main 함수는 대체로 위와 같은 형식을 가지고 쓰여지는데,
가끔 아래와 같이 Void 형으로 쓰기도 한다.
void main() {
//code
//code
return;
}
요즘에는 int를 자주 쓰므로, 만약 자신이 void를 쓴다면 int로 넘어가는 연습을 해보도록 하자.
Main 함수는 말 그대로 'Main'이라 프로그램이 이 함수를 중심으로 동작한다.
Main 함수가 끝나면 프로그램이 끝나게 되어있고, Main 함수가 끝나지 않는다면 프로그램이 끝나지 않는다.
결과적으로, Main 함수는 프로그램이 시작할 때, 같이 시작된다(정확한 순서가 있긴 한데, 일단 느낌만)
Main 함수의 인수
Main 함수는 인수를 가질 수 있다.
Main 함수는 우리가 호출하는 함수가 아닌데 어째서 인수를 가지죠?
당연히 우리가 정하는 인수가 아니다. 인수로는 2가지를 가질 수 있는데 아래와 같다.
인수 | 의미 |
int argc | argv의 갯수, 그러니까 길이를 뜻한다. |
char *argv[] | 전달된 인수. 문자열의 집합이다. |
대충 argc는 알겠는데 argv는 뭔지 모를 것이다.
프로그램을 시작할 때, cmd로 시작하면 다음과 같이 쓸 수 있다.
(파일 경로)>(파일 이름).exe (인수1) (인수2)
이렇게 하면 argv에 인수1과 인수2가 입력이 되는데
argv[1]에 인수1이, argv[2]에 인수2가 입력이 된다.
그렇다면 argv[0]은 무엇일까?
argv[0]은 파일의 경로가 입력된다.
argc는 그래서 인수를 입력하지 않더라도 1인 상태이며
argv도 기본적으로 파일의 경로가 입력되어 있는 상태인 것이다.
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("당신이 입력한 인수의 개수 : %d\n", argc-1);
for (int i = 1; i < argc; i++) {
printf("%d번째 인수 : %s", i, argv[i]);
}
}
요런 식으로 쓸 수 있다.
Main 함수의 형식은 아는 사람이 많아도,
Main 함수의 인수는 모르는 사람이 많아서 글을 써보았다.
'IT > C' 카테고리의 다른 글
[C] 변수 (0) | 2022.12.28 |
---|---|
[c][알고리즘] n-Queen (0) | 2022.12.26 |
[C] include (0) | 2022.12.26 |
[C] printf 함수 (0) | 2022.12.26 |
댓글