C语言:一切从main函数说起!

人与人之间是使用中文进行正常沟通,对于嵌入式平台而言,我们必须懂得与它沟通的语言,才能在开发中得心应手!

说到C语言,同学可能会觉得,嗯,我大一学过,但是就是啥都忘记了....,这个嘛,忘记不要紧,最重要是有一颗想学回来的心。那么今天就讲解一下最基础的C语言程序框架吧。

在高校上课,一般地问我们同学,C语言程序从哪里开始执行呐,90%同学都会跟我说:“头文件!”,额,这个肯定是不对的,同学之所以会觉得是从头文件开始执行,是因为大家觉得头文件放在最开头,那肯定是最开始执行啦,可惜不对哦!C语言程序真正的入口是main函数。

那么,这个main函数长什么样子的呢?请看下图:

这个就是全世界最简单的C语言程序,程序一开始就结束了,并不用写头文件。那么到底这几行代码是什么意思呢?

1)int:是main函数的返回值类型,就是无论main函数无论是成功还是失败,都会返回一个int类型的数据。

2)main:代表的是函数名,一个C语言程序中有且仅有一个main函数。

3)():函数名后面的小括号可以填参数,不填默认没有参数,等价于void

4){}:花括号代表的是函数体,就是函数实现的功能代码就是写在这里的。

5)return 0:就是函数正常结束,返回一个0的数据,这个数据必须与int类型对应。(例如:返回值类型是int的,就不能返回一个char字符类型)

小编推荐一个学C语言/C++的学习裙【 三四一,六三六,七二七】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

对于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]是当前应用程序的名称。按照前面的解释,数组只有1个元素, 但当我们访问argv[1]时,其值是空指针NULL,程序并没有因为越界访问而出现异常,所以我们大概可以推测出外部传递给main函数的参数如下。

你会注意到argv数组在参数列表结尾处填充了一个NULL参数,用于指示参数结束。

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180604A04E1600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券