반응형
main 함수 인자
1. 인자 없을 때
main() ; 인자없음
2. 인자 있을 때 : argc, argv
1) argc : 인자 개수
2) argv : 실제 인자 문자열
argv[0] : 파일명을 포함한 실행경로
argv[1] : 인자1
argv[2] : 인자2
※ argv들의 구분자는 공백
#include<stdio.h>
int main(int argc, char *argv[]){
printf("argc=%d\n", argc);
for(int i=0;i<argc;i++){
printf("agrv[%d]=%s\n", i, argv[i]);
}
}
예를 들어서 위의 코드의 test라는 파일이 있을 때
./test 라고 인자값을 주지 않고 파일을 실행했을 때 :
argc : 1
argc[0] : ./test
./test 1 a 라고 인자값을 주고 파일을 실행할 때,
agrc : 3
arg[0] : ./test
arg[1] : 1
arg[2] : 2
이다.
3) envp 환경 변수 : 사용자의 환경변수에 설정된 값. 환경변수는 문자열 끝에 NULL 문자열이 있음.
#include<stdio.h>
int main(int argc, char *argv[], char *envp[]){
printf("argc=%d\n", argc);
for(int i=0;i<argc;i++){
printf("agrv[%d]=%s\n", i, argv[i]);
}
while(*envp)
printf("%s\n", *envp++);
}
위와 같은 코드의 test2라는 파일이 있을 때
./test2 1 22 라고 인자 2개를 주고 파일을 실행했을 때 :
argc : 3
argv[0] : ./test2
argv[1] : 1
argv[2] : 11
그리고 환경변수들이 나온다.
반응형