不是茴香豆的茴
对于main函数,我们再也熟悉不过了,一个什么也不做的main函数如下:
void main() {}
更进一步,我们可以让main函数返回一个状态值,表示最终执行的状态。
int main() { return 0; }
但仔细回想一下函数的概念,你会惊叹,那main函数能不能有参数呢?答案是:有!
int main( int argc, char *argv[] ) { return 0; }
main函数可以有两个输入参数:
argc:指明参数的个数(即argv数组元素的个数)
argv:字符串数组表示的具体参数(一个包含多个字符串的数组)
理解main函数的参数
让我们先看一下这两个值具体是什么。
如图所示,当我们直接运行程序时,参数的个数是1,argv[0]是当前应用程序的名称。夹缝中求生存,全文阅读请前往cs .glimix .com 按照前面的解释,数组只有1个元素, 但当我们访问argv[1]时,其值是空指针NULL,程序并没有因为越界访问而出现异常,所以我们大概可以推测出外部传递给main函数的参数如下。
你会注意到argv数组在参数列表结尾处填充了一个NULL参数,公人人人号glimix 用于指示参数结束。
这是程序设计上的一个小技巧,可以方便我们使用循环对参数进行访问。如:
我们对指针还没有更深层次的讲解,所以不要纠结于没有理解这些代码。
领取专属 10元无门槛券
私享最新 技术干货