티스토리 뷰
argc, argv는 C언어의 main함수에서 사용되는 기본적인 인자이다. (알그씨, 알그브이?ㅋㅋㅋㅋ)
argument count & argument variable의 약자이다ㅋㅋ
대부분 C프로그래밍을 진행하면서 main 함수에서 인자 void를 사용했다. 처음에 C언어를 할때.,., main함수는 무조건 void인줄 알았지만 아니였다..ㅋㅋ
하지만 실제로 c언어로 작성이 된 리눅스 프로그램들은 대부분이 argc, argv 인자를 사용하여 사용자로부터 명령어를 받는다.
예를 들어, cd ~/Desktop을 리눅스 터미널에서 입력을 한다면 현재 디랙토리는 ~/Desktop으로 이동된다.
cd는 프로그램명이고 ~/Desktop은 cd프로그램에 들어가는 하나의 인자이다.
//코딩
//
// main.c
// program
//
// Created by Eon on 7/26/18.
// Copyright © 2018 Eonseok Yim. All rights reserved.
//
#include <stdio.h>
int main(int argc, const char * argv[]) {
printf("argc == %d\n", argc);
for (int i = 0; i<argc; i++) {
printf("argv[%d] == %s\n", i, argv[i]);
}
return 0;
}
main 함수에 파라미터로 argc, argv를 사용할 수 있다.
C언어는 리눅스에서 프로그램에 많이 사용되고 있다.
프로그램에 인자를 주기위해서 사용하는 방법으로 argc, argv 인자를 사용한다.
//실행
Eons-MacBook-Pro:Debug eon$ ls
program
Eons-MacBook-Pro:Debug eon$ ./program
argc == 1
argv[0] == ./program
Eons-MacBook-Pro:Debug eon$ ./program aaa bbb ccc ddd
argc == 5
argv[0] == ./program
argv[1] == aaa
argv[2] == bbb
argv[3] == ccc
argv[4] == ddd
Eons-MacBook-Pro:Debug eon$
터미널 bash창에서 program이라는 이름으로 위의 C언어를 컴파일하였다.
$ ls
ls를 사용하여 현재 디렉토리에 컴파일이 된 program이 존재하는 것을 알 수 있다.
즉, argc는 1이고 argv인자로는 하나의 포인터로 "./program"이 출력이 되었다.
기본적으로 무조건 argc는 1 이상이고 argv의 첫번째 포인터는 프로그램의 자기자신이 불린 string이 출력이 된다.
$ ./program aaa bbb ccc ddd
space를 간격으로 인자를 구분한다.
//결론
'알고리즘' 카테고리의 다른 글
ethminer 맥북 충전기 유무 & 디스플레이 꺼짐 유무에 따라 채굴하기 (0) | 2018.11.22 |
---|---|
윈도우 아파치 2.4 WebDAV 서버 설정 (1) | 2018.11.22 |
Java coding, Boggle coding (0) | 2018.10.17 |
짝수 피보나치 수의 합 (0) | 2018.07.27 |
가장 큰 이어지는 원소들의 합 (0) | 2018.07.27 |
- Total
- Today
- Yesterday
- 서버
- 아키티오
- 환경오염
- 산업화
- CodeUp
- Java
- 카카오톡
- C++
- 백준
- eclipse
- 우분투
- 알고리즘
- 외장그래픽
- 맥
- 슈어
- 문제
- 이클립스
- 프로그래밍
- 코딩
- 자바
- 맥북
- 코드업
- 모바일 프로그래밍
- NAS
- 파이썬
- 개발
- se846
- egpu
- python
- Vega64
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |