首页 > 代码库 > 最简单的C语言程序

最简单的C语言程序

声明:本人知识有限,文章可能有误或不全面,望指正并讨论!


最简单的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 <stdio.h>

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

	if (argc >0) {
		main(argc - 1, argv);
		printf("%s\n", argv[argc - 1]);
	}

	return 0;
}


为什么没有include头文件?


因为最开始的main函数中,没有使用到一些编译或链接时所不知道的标识符,所以不需要include其他头文件。



本文出自 “chhquan” 博客,请务必保留此出处http://chhquan.blog.51cto.com/1346841/1568568

最简单的C语言程序