main 함수의 기본 프로토타입은 int main(int argc, char *argv[]) 이다.
물론 귀찮아서 void main()으로 주로 쓰긴 하지만, 인자를 받기 위해서는 저 프로토타입을 써야 한다.
아무튼 막상 인자로 받다가 그 인자를 만들어 내려니 자꾸만 안되서 머리를 데굴데굴 굴려봤다.
음.. argv가 argument array인데,
argv[0]은 실행프로그램(자기자신)의 경로+이름
argv[1] 부터 인자가 들어 간다.
그리고 마지막은 null이 들어간다.
아무튼 꼼지락 대면서 겨우겨우 맞춰서 넣은 argc, argv 값들.. 하아..
조금 더 추려내면
간단하게 하는 방법은 정녕없는 것인가!
물론 귀찮아서 void main()으로 주로 쓰긴 하지만, 인자를 받기 위해서는 저 프로토타입을 써야 한다.
아무튼 막상 인자로 받다가 그 인자를 만들어 내려니 자꾸만 안되서 머리를 데굴데굴 굴려봤다.
음.. argv가 argument array인데,
argv[0]은 실행프로그램(자기자신)의 경로+이름
argv[1] 부터 인자가 들어 간다.
그리고 마지막은 null이 들어간다.
int argc = 2; char str1[] = "a.out"; char str2[] = "/dev/fb0"; char str3[] = ""; char *strs[] = {str1,str2,str3}; char **argv = strs; |
조금 더 추려내면
int argc = 2; char *strs[] = {"a.out", "/dev/fb0", ""}; char **argv = strs; |
간단하게 하는 방법은 정녕없는 것인가!
'Programming > C Win32 MFC' 카테고리의 다른 글
기술직 공무원 시험문제 - for / while / goto / 연산자 우선순위 (0) | 2009.04.29 |
---|---|
sizeof() 는 언제 계산될까? (0) | 2009.04.22 |
int main(int argc, char *argv[]) 에 대한 짧은 이야기 (3) | 2009.03.24 |
c언어에는 cp() 가 없다? (0) | 2009.03.16 |
The C Library Reference Guide (0) | 2009.02.24 |
warning: array subscript has type ‘char’ (0) | 2009.01.02 |
댓글을 달아 주세요
오옷.. 제가 아는 C언어 이야기.
2009.03.24 17:52 [ ADDR : EDIT/ DEL : REPLY ]main은 그냥 main이면 안되나요. 왜 머리에 int, void 등이 붙는지 -ㅅ-...
ㅎㅎ 데니즈 님을 위해서 c언어 강좌를 시작해 봐야하는건가요? ㅋ
2009.03.24 18:20 [ ADDR : EDIT/ DEL ]앞부분에 붙는건 함수는 블랙박스로, 어떤 값을 받으면 어떤 값을 돌려주는 식으로 설계를 하기 때문입니다.
예를 들어 실 생활을 예를 들자면
cm->ft 변환기가 있다고 하면
입력은 cm 단위로 입력하고
내부에는 어떻게 변화가 되던 신경안쓰고
출력은 ft단위(대략 30cm = 1ft)로 받게 됩니다.
일부 함수들은 값을 돌려주지 않기 때문에
돌려주는 값이 없는 함수를 void로 해주는 것입니다
(물론 파고들면 void라고 해서 꼭 값을 돌려주지 않는 건 아니니 나중에 알아보세요 ㅋ)
오옷..
2009.03.24 20:14 [ ADDR : EDIT/ DEL ]해주신다면 저야 영광입니다. ㅠ
흠... 그런거군요.
얼른 C언어의 기초를 배워야겠습니다.
헤헷..