发表时间:2022-03-25来源:网络
声明:本人知识有限,文章可能有误或不全面,望指正并讨论!
最简单的C语言程序,应该就是一个main函数,而main里什么也不做了。
如下:
C文件main.c:
int main()
{
return 0;
}
在 unix/linux下编译,后生成可执行程序main,并执行main:
# cc -Wall -o main main.c
# ./main
#
程序无输出。
这是一个最简单的C语言程序了,但虽然是最简单,也有值得注意的地方。
为什么会是main函数?
因为main函数是链接生成可执行程序的入口,即程序的代码运行的入口。这是被定义的。而main函数的原型可以有三个:
int main();
int main(int argc, char *argv[]);
int main(int argc, char **argv);
第一个main函数忽略命令行参数;
第二个main与第三个main是等价的,他们接受命令行参数。
一个可执行程序只有一个入口,那么正常情况下main函数也只能有一个。
但也有不正常的情况,那就是把main函数声明为static,但此时编译器会发出警告。这样声明的main函数就失去了作为程序入口的特性。而此时的static main函数不能和作为程序入口的main放在同一个文件,而需要把static main放到另一个C文件,从而使static main仅在文件内访问。
main函数只能有一个,那么main函数是不是只能执行一次。答案是否定的,main函数也是可以执行多次,只要代码中显示调用main函数,那么main函数也是可以执行的。如下面程序:
#include
int main(int argc, char *argv[])
{
if (argc >0) {
main(argc - 1, argv);
printf("%s\n", argv[argc - 1]);
}
return 0;
}
为什么没有include头文件?
因为最开始的main函数中,没有使用到一些编译或链接时所不知道的标识符,所以不需要include其他头文件。
C++ Primer Plus 第6版 中文版 清晰有书签PDF+源代码 http://www.linuxidc.com/Linux/2014-05/101227.htm
读C++ Primer 之构造函数陷阱 http://www.linuxidc.com/Linux/2011-08/40176.htm
读C++ Primer 之智能指针 http://www.linuxidc.com/Linux/2011-08/40177.htm
读C++ Primer 之句柄类 http://www.linuxidc.com/Linux/2011-08/40175.htm
将C语言梳理一下,分布在以下10个章节中:
Linux-C成长之路(一):Linux下C编程概要 http://www.linuxidc.com/Linux/2014-05/101242.htm Linux-C成长之路(二):基本数据类型 http://www.linuxidc.com/Linux/2014-05/101242p2.htm Linux-C成长之路(三):基本IO函数操作 http://www.linuxidc.com/Linux/2014-05/101242p3.htm Linux-C成长之路(四):运算符 http://www.linuxidc.com/Linux/2014-05/101242p4.htm Linux-C成长之路(五):控制流 http://www.linuxidc.com/Linux/2014-05/101242p5.htm Linux-C成长之路(六):函数要义 http://www.linuxidc.com/Linux/2014-05/101242p6.htm Linux-C成长之路(七):数组与指针 http://www.linuxidc.com/Linux/2014-05/101242p7.htm Linux-C成长之路(八):存储类,动态内存 http://www.linuxidc.com/Linux/2014-05/101242p8.htm Linux-C成长之路(九):复合数据类型 http://www.linuxidc.com/Linux/2014-05/101242p9.htm Linux-C成长之路(十):其他高级议题本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-10/108517.htm
上一篇:数控机床编程软件哪一款最简单
下一篇:最简单的正则,不过也够用了
苏宁微店卖家版app(苏宁推客)下载v9.8.40 安卓最新版
57.19MB |生活服务
机友邦工程机械网官方版app下载v4.0.4 安卓版
88.56MB |系统工具
苏宁微店客户端(改名苏宁推客)下载v9.8.40 安卓版
57.19MB |生活服务
优腿商家端app下载v1.23.5 安卓版
34.13MB |系统工具
龙湖物业app下载v1.20.0 安卓版
84.54MB |生活服务
moon月球手机版下载v2.6.5 安卓版
51.55MB |生活服务
邻里掌柜app官方版下载v8.12.3 安卓版
151.25MB |生活服务
药采采app官方版下载v2.6.3 安卓版
31.88MB |生活服务
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-02-15
2022-02-14