C语言入门进阶——再度认识main函数

不是茴香豆的茴

对于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 用于指示参数结束。

这是程序设计上的一个小技巧,可以方便我们使用循环对参数进行访问。如:

我们对指针还没有更深层次的讲解,所以不要纠结于没有理解这些代码。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180529A218AY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券