홈
토픽
스파링
잉크
미션
전문가 신청
베리몰
나도 질문하기
생활
바다의편안함
왜 main함수에 매개변수를 명령어 개수, 명령어 저장 값을 주는 건가요?
인자를 주어야만 하는 상황은 왜 일어나는 건가요?
써야 될 때가 있다면 그 이유는 무엇인가요?
구글링 해도 나오지 않아 질문해 봅니다 ㅠㅠ
4개의 답변이 있어요!
반듯한거북이278
안녕하세요.
우선 main에 parameter를 주는것은 약속입니다.
그럼 언제 사용되냐 인데요, C언어로 프로그램을 하면 실행가능한 파일을 얻게 됩니다.
예를 들면 test.c를 compile하고 링크하면 test.exe가 만들어지게 되구요,
만약 이 test.exe아 csv파일을 받아서 주소록을 만드는 프로그램이라면 test.exe address.csv 이렇게 하면 address.csv 파일이름을 입력으로 받아들이게 됩니다.
마찬가지로 dir과 같은 명령어의 옵션도 이렇게 매개변수로 처리가 됩니다.
즉 프로그램 당시에 옵션을 만들거나 혹은 입력값을 따로 받아야 하는 경우 사용하게 됩니다.
응원하기
다라닝
안녕하세요~! 아하(Aha) 지식답변자 다라닝입니다.질문하신 내용에 대하여 아래와 같이 답변 드립니다.복수의 함수를 선언해서 코딩을 할때,
매개변수가 몇 개 인지, 어떤 값을 리턴해줄지 등을 고려해서 함수를 구분해주고 있기 때문입니다.
꼭 필요한 부분은 아니기때문에 없어도 코딩은 가능하지만
점점 복잡한 코딩을 해나갈때는 반드시 필요해지는 부분입니다.부족하지만 도움이 되셨기를 바라며 추가적인 문의가 필요하시면 답변 부탁드려요!
보랏빛수염고래51
실행할때 매개변수를 줘야 할 때가 있거든요. 입력값으로 말이죠.
예를 들어 파워포인트.exe라는 실행파일이 있다고 치면, 실행할 파일을 파워포인트.exe xxx.pptx라고 넣어 줄수 있어요.
이때 main 함수 매개변수가 몇개의 매개변수가 들어왔는지 어떤 이름의 매개변수가 들어왔는지 파악할 수 있습니다.
pay2id.com
"왜 main함수에 매개변수를 명령어 개수, 명령어 저장 값을 주는 건가요?
써야 될 때가 있다면 그 이유는 무엇인가요?"
라고 질문을 하셨는데요
그 이유는 다음과 같습니다
예를 들어 c언어로 작성한 프로그램을 컴파일하여 okgood.exe 실행파일을
만들었다면?
저 실행파일 실행시 okgood.exe wow 최고야
라고 뒤에 파라미터를 붙이면?
okgood 의 main에 적어진 argv 에 의해
wow 최고야를 변수로 담게 되어
"wow 정말 최고야?" 이렇게 출력할 수 도 있습니다
즉, 외부파라미터를 c언어 내부에서 변수로 활당하여 사용하기 위한것이라고 보시면 됩니다