重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一个C语言的执行是从本程序的main函数开始,到main函数结束,但需要注意的是,也是有特殊情况的,若是代码中出现了exit函数,则直接结束程序。
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的莒南网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高。另外C 语言也具有强大的图形功能, 支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大, 可以实现决策目的。
扩展资料:
注意事项:
数组是有前后每个值的下标之间是有数学关联的。例如数组a第一个值的下标是i,数组长度为n,最末一个值的下标则是n-1-i。当i递增时,(n-1-i)也随着递减。
函数用数组作为参数,例如func(int a[]),本身就是把数组的地址传入函数中,所以如果修改,会修改原数组的内容。不会从新建立一个数组。
数组名虽然相当于指针。但是还是由区别的。数组名不能用于加运算。例如char a[]={"I am here"},while(1){printf("%d",a);a++,if (*a!='\0') break;}是不合法的。必须要把数组名赋值给指针,然后用指针运算。
参考资料来源:百度百科-c语言
当Windows系统执行一个C程序时,真正首先执行的是(win)mainCRTStartup函数。mainCRTStartup首先进行了一系列准备工作,例如heap的初始化、IO的初始化、获得命令行参数等等。当所有的准备工作都完成之后,再去调用用户自定义的main函数。最后,执行exit函数退出程序。因此对于exe,(win)mainCRTStartup函数才是真正的Entry point。
void mainCRTStartup(void){
int mainret;
……
__try {
……
mainret = main(__argc, __argv, _environ); //在这里调用用户写的main函数
exit(mainret);
}
__except ( _XcptFilter(GetExceptionCode(), GetExceptionInformation()) )
{
_exit( GetExceptionCode() );
}
}
含义如下:
(1)一个Windows应用程序的执行过程是:
操作系统调用C/C++运行期启动函数-启动函数做完所有初始化工作后-调用应用程序进入点函数(即我们的主函数) 。
(2)而主函数返回时-启动函数便调用C/C++运行期的exit函数。
(3)通常我们的主函数有这样一个整型返回值,其意义为:当主函数返回时,这个返回值就会传递给这个exit函数作为参数,exit函数先做完所有清理工作,然后调用操作系统的ExitProcess函数并将返回值传递给它,这使得操作系统能够撤销进程并设置退出代码。通常0表示正常返回,非零的其他值表示出现错误。
(4)我们的主函数可以定义为类似void main()这个样子,即无返回值,那么这个时候就不能用return语句把退出代码传递给父进程或操作系统,此时操作系统可以撤销进程但不会设置退出代码。当然在这种情况下,你还是有办法设置退出代码,那就是显式地调用exit(退出代码)。
可以解释为:输出函数在主函数里,是以浮点型数据输出的,这个返回值是在屏幕上显示的。而 int main() 主函数返回的值是0,即 return 0; 这个返回值不是显示在屏幕上的,而是函数的一部分,因为C都是函数组成的,即使是主体,它也是一个完整的函数。