main에서 인자의미가 머져..???

min2to의 이미지

#include
int main(int argc, int *argv[])
{
int r;
char gcc[200];
if(argc {
printf("안녕하요\n");
exit(0);
}
}

이런 함수가 있으면 ..
int main(int argc, int *argv[])

이넘들은 자동으로 생성되는 인자 인가요?
어느책을 봐도 자세히 설명해주는 건 없어서....
그냥 대충보고 넘어갔는데 고급책을 보니..?
이해 않하면 않될꺼 같아서..

감사합니다.!

ㅡ,.ㅡ;;의 이미지

그넘들 컴파일후 실행할때 아규먼트 주는 넘들입니다...


----------------------------------------------------------------------------

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

argc는 argument count, 즉 프로그램을 실행할 때 사용된 인자의 개수를 뜻합니다.
예를 들어 foo라는 프로그램이 있을 때, ./foo asdf 123 def로 실행했다고 하면 argc는 4가 됩니다.
argv는 argument value로 인자의 배열입니다.
틀린 부분이 있다면 다른 분들이 고쳐주세요. =3

min2to의 이미지

써주는 이유는요?..

모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

실제로 argc, argv의 값을 참조하지 않는다면 써주지 않아도 무방합니다.

min2to의 이미지

*argv[] == **argv 아닌가요?

포인터져? 음 그럼 ... 더블 포인터 같은경우는 포인터의 주소값을

참조하는 걸루 아는데요..

저 상태에서는 주소값을 반환하거나.. 참조해주는 것이 않보입니다

가장 이상한건 int argc는 갯수를 참조한다고 하셨는데

./foo asdf 123 def 이렇게 있어서 4개라고 말씀하셨잖아여?..

제가 내공이 너무 부족해서 그런데 저게 무슨뜻이죠?..

생전 처음보는 거라....... 꼭 좀 답변 부탁드립니다

(저는 GCC에서 컴파일 돌립니다만.. 저걸 소스를 돌려보면 그냥
"안녕하세요" 라는 말밖에 않나와서요..)

모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다

zeon의 이미지

int main(int argc, int *argv[])
{
    int i;
    for(i=0;i<argc;i++)
    {
         printf("No.%d Argument: %s\n",i, argv[i]);
    }
    return 0;
}

ps. 댓글 미리보기 해보니 tab은 인식이 안되네요.
God said it. I believe it. That settles it.

여친이 길르는 용..

min2to의 이미지

예.. 알꺼 같네여 그럼.. 딱하나 이해 않가는게

argc는 어서 나온 값인가요 main 에 선언되어 있는 정수값이고.. 갯수라는 의미 알겟는데

직접적으로 초기화 해주는게 않보여서 초보자의 눈에는..햇갈립니다

결론은.. for문에 i

몇번째까지 비교한다는 소리인지? 이것만...

알면..!!

모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다

min2to의 이미지

님의 소스를 실행해보았습니다.

./a.out

No.0 Argument: ./a.out

./a.out가 나오길래 무슨뜻인지 하고..

./a.out kang 하니..
No.0 Argument: ./a.out
No.1 Argument: knag

가 나오네여..
원리는 argc는 치는 대로 나오는 값인가보군여..?

모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다

r0x2tk1t의 이미지

Argument Count를 뜻하는 것으로.
실행시 실행파일명을 포함한 인자의 갯수를 뜻하는 겁니다.
test라는 파일이 실행파일이라면,
./test 의 argc = 1, ./test a 의 argc = 2, ./test a b 의 argc = 3
이런 식이죠. argc와 argv 모두 실행시 인자를 받을때 필요합니다.

I think I can!!
Google Talk::chanju_dot_jeon(at)gmail_dot_com

日新 日日新 又日新
Google Talk::chanju_dot_jeon(at)gmail_dot_com

min2to의 이미지

간단한 같다는 생각이 드네요..

다들 감사합니다.. 이제야.. 이해가 되었습니다..

argc는 (손수치는)인자값 argv는.. 그 값의. 0 1 2 3..대로 저장..

맞져? ㅎ

모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다

kfmes의 이미지

실제로도 저렇게 짜여진 프로그램들을 많이 쓰시고 있습니다 -_-
cp , mv, cat 등의 명령어 들이 대표적인 예인데요
위 명령들은 뒤에 따라들어온 인자에 의해서 실행이 되는것이지요

말나온 김에 cp 프로그램을 직접 c로 짜보시는거 어때요?

----------------------------------------

min2to의 이미지

간단한 곳셈 지나 나눗셈도 햇갈리는데 ㅠㅠ

그걸 짤려면 흠흠 ㅋ

언젠가 꼭 만들어봐야지 내공을 ㅎ

모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.