C语言基础知识--main函数

首先来看一下一个c语言main函数的标准形式:

#include <stdio.h>

int main(int argc, const char* argv[])

{

printf("hello pig!");/*代码实现*/

return 0;

}

#include<stdio.h>这是一个头文件,包含的是C程序运行的C语言的库函数。int代表的是main函数的返回值是一个int, argc代表着main函数接受argc个参数,这些参数以字符串的形式存储在argv数组中,这一部分目前可以省略,因此大多数时候我们看到的main函数是这样的

int main()

{

printf("hello pig!");/*代码实现*/

return 0;

}

Return 0代表着将0返回给操作系统,在UNIX中,return 0代表着没有出错,带返回一个非0值得时候,意味着出错了。

那我们再思考一下,main函数是个啥呢?为什么一定要main,改成其他的行不?我们来试一试!

#include <stdio.h>

//int main()

int mymain() /*自定义main函数*/

{

printf("hello pig!");/*代码实现*/

return 0;

}

这里我们自定义一个main函数,然后编译一下,报错

c语言编译最简单的main函数(c语言零基础入门)(1)

C语言并没有说c程序的入口一定要有main函数,但是c的编译器在编译完成之后需要链接成可执行文件,既然是可执行文件,那么链接的时候就需要知道程序的入口是什么,默认的程序入口就是卖main,那我们可以修改吗?当然可以!我们可以自己指定程序的入口函数!

执行

gcc hello.c -e mymain -nostartfiles

-e参数指定我们的程序的入口

-nostartfiles 连接的时候不使用标准系统的启动文件

可以看到生成了一个可执行的文件a.out

c语言编译最简单的main函数(c语言零基础入门)(2)

,