📄 00000012.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: <A HREF="mailto:ax.bbs@bbs.ee.nthu.edu.tw.">ax.bbs@bbs.ee.nthu.edu.tw.</A> (athena), 信区: test <BR>标 题: 星星流讲座 0036 <BR>发信站: ☆清华电机☆ (Thu Jul 6 22:01:58 1995) <BR> <BR> <BR>第 5 讲 之 12 阵列与指标 <BR> Topic: Command line arguments <BR> <BR>我们常常下类似的命令: <BR> <BR> gcc -o hello hello.c <BR> <BR>gcc 是我们所想要执行的程式的名字,而 -o、hello 和 hello.c 则是 <BR>我们传给 gcc 这个程式的参数。事实上由外部传进程式的参数就相当於 <BR>main 函数的参数,它的格式如下: <BR> <BR> main (int argc, char *argv[]) <BR> <BR>argc 的意思是 argument count,亦即参数的个数有几个。而 argv 的 <BR>意思则是 argument vector,意即存放参数的向量 (想想看,指标阵列 <BR>是不是很像向量的集合?)。拿上面的例子来讲: <BR> <BR> gcc -o hello hello.c <BR> ^^^ ^^ ^^^^^ ^^^^^^^ <BR> 0 1 2 3 <BR> <BR>一共有 4 个参数 (记住,程式的名字也算一个),所以 argc = 4,而 <BR>*argv[] 的内容如下: <BR> <BR> ┌—┐ ┌┐ <BR> │ ┼—→ │┼→ gcc\0 <BR> └—┘ ├┤ <BR> argv │┼→ -o\0 <BR> ├┤ <BR> │┼→ hello\0 <BR> ├┤ <BR> │┼→ hello.c\0 <BR> └┘ <BR> <BR>揭开了它的真面目之後,相信你也觉得很容易吧!以下是一个□例程式: <BR> <BR>/* echo.c */ <BR>#include <stdio.h> <BR> <BR>void main (int argc, char *argv[]) <BR>{ <BR> while (--argc) /* an abbreviation of while(--argc != 0) */ <BR> { <BR> printf ("%s\n", *++argv); <BR> } <BR>} <BR> <BR>执行结果: <BR> <BR>[analog]/pichome/users/faculty/athena/tmp> a.out 1 2 3 <BR>1 <BR>2 <BR>3 <BR> <BR>-- <BR>本文原作者为徐振家,原作刊载於星星神教总坛 ☆清华电机☆ test 板。 <BR>你可以以电子文件的形式将本文自由流传於台湾学术网路,但必须包含此版权声明。 <BR>原作者依中华民国著作权法之规定,享有本文之著作权,请勿抄袭以免触法。 <BR>未经授权任何人不得以任何形式对本文做任何修改及商业上之应用。 <BR>其他网路的转载或其他用途的应用,请先知会作者,并取得其同意。 <BR>对本文有任何疑问或意见请 mail 给 <A HREF="mailto:ax.bbs@bbs.ee.nthu.edu.tw,谢谢。">ax.bbs@bbs.ee.nthu.edu.tw,谢谢。</A> <BR> <BR> <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -