一个c语言程序总是从main函数开始执行。在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。
一个c程序有且仅有一个main函数,除main函数之外可以有若干个其它的函数,每个函数实现某一特定的 *** 作。
main函数,又称主函数,是程序执行的起点,main是相对来说的,如同音学理论之主调于泛音,泛音即程序中的除main之外的其他函数,迎合人们的思考方式而生成的而非必定的模式。有主有次,执行起来条清缕析,既可将程序模块化又实现了一个闭合的整体。
在执行程序时,由系统调用main函数 。main 函数是在程序启动中完成对具有静态存储期的非局部对象的初始化之后被调用的。它是程序在有宿主 (hosted)环境(亦即有 *** 作系统)中所指定的入口点。自立程序(启动加载器, *** 作系统内核,等等)的入口点则是由实现定义的。
主函数的两个形参形式中的形参,允许从执行环境中传递任意的多字节字符串(它们通常被称为命令行参数),各个指针 argv[1] .. argv[argc-1] 指向每个这些字符串的第一个字符。
argv[0] 是指向一个表示用于执行该程序自身的名字的空结尾多字节字符串(或者当执行环境不支持时,为空字符串 “”)的开头字符的指针。这些字符串是可以改动的,虽然对它们的改动并不会被传回给执行环境:比如可以用 std::strtok 来使用它们。
由 argv 所指向的数组的大小至少为 argc+1,其最后一个元素 argv[argc] 保证为一个空指针。
main()函数称之为主函数,一个C程序总是从main()函数开始执行的,但是不一定在main函数最后结束。
在 main() 之后的最后一条语句结束后,程序还要运行一些代码,以正常返回 *** 作系统。main函数执行完后还执行其他语句,
有时候需要有一种与程序退出方式无关的方法来进行程序退出时的必要处理,方法就是用atexit()函数来注册程序正常终止时要被调用的函数,atexit()函数的参数是一个函数指针,函数指针指向一个没有参数也没有返回值的函数,它的原型是:
int atexit(void (*)(void))
扩展资料
main函数的使用
示例:
#include <stdlib.h>
#include <stdio.h>
void fn1(void)
void fn2(void)
int main(void)
{
atexit(fn1)
atexit(fn2)
printf("main exit ...\n")
return 0
}
void fn1()
{
printf("calling fn1()...\n")
}
void fn2()
{
printf("calling fn2()...\n")
}
参考资料来源:百度百科—main函数
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)