当前位置: 首页 > news >正文

做网站服务器和域名wordpress看板猫

做网站服务器和域名,wordpress看板猫,关键词优化营销,wordpress改底部信息文章目录 一#xff0c;main函数二#xff0c;exit函数1#xff0c;exit函数2#xff0c;atexit()函数2.1 atexit函数的简介2.2 atexit注册的函数一定会被调用吗2.2.1 正常退出测试2.2.2 异常退出测试 一#xff0c;main函数 一个C程序至少包含一个函数#xff0c;这个函… 文章目录 一main函数二exit函数1exit函数2atexit()函数2.1 atexit函数的简介2.2 atexit注册的函数一定会被调用吗2.2.1 正常退出测试2.2.2 异常退出测试 一main函数 一个C程序至少包含一个函数这个函数就是main()函数它是程序的入口点。 main()负责调用其他函数完成程序的主要任务。 #include stdio.hint main() {printf(Hello, World!\n);return 0; // 程序正常结束 }main()函数的声明和普通函数并无区别也包含函数头和函数体函数头包含返回值类型、函数名称、参数列表函数体中包含return语句。 正常情况下如果main()里面省略return语句编译器不会警告或者报错相当于编译器会自动加上return语句可以认为main()的默认返回值为0。所以也可以写成下面这样。 #include stdio.hint main() {printf(Hello, World!\n);// 省略return 0; 程序正常结束 }二exit函数 1exit函数 exit()exit()函数的作用是终止整个程序原型定义在头文件stdlib.h里面引入头文件后我们可以直接在其他函数中使用。 exit()可以起到return的作用向函数外部返回一个值返回值是传递给exit()的参数。 exit()的参数通常是两个常量 ①EXIT_SUCCESS相当于 0表示程序运行成功②EXIT_FAILURE相当于 1表示程序异常中止。 这两个常量的定义包含在stdlib.h里面。 // 程序运行成功 // 等同于 exit(0); exit(EXIT_SUCCESS);// 程序异常中止 // 等同于 exit(1); exit(EXIT_FAILURE);在main()函数里面exit()等同于使用return语句。 #include stdio.hint main() {printf(Hello, World!\n);// 等同于return 0;exit(EXIT_SUCCESS); }其他函数使用exit()就是终止整个程序的运行没有其他作用。 #include stdio.h #include stdlib.hint plus1(int num){exit(0); }int main() {printf(Hello World);int num plus1(0);printf(num%d,num); }如上代码main函数中调用plus1()plus1中调用了exit函数执行exit函数后整个程序就结束不会再执行main函数的最后一行代码。 也即是说我们在普通函数中调用exit函数时传递参数是没有什么意义的。 2atexit()函数 2.1 atexit函数的简介 C 语言还有一个atexit()函数用来告知编译器在exit()执行之前执行一个指定的函数这个程序可以称之为终止处理程序通常用来执行程序结束前的资源回收工作比如释放内存、释放数据库连接等等或者程序异常退出前打印异常信息。 该函数的原型定义在头文件stdlib.h。 int atexit(void (*func)(void));注意atexit()的参数是一个函数指针且这个指针指向的函数必须满足如下两个条件 不接受任何参数。不能有返回值。 void releaseSomething(void) {printf(releaseMemory\n);printf(releaseDBLink\n); }atexit(releaseSomething); exit(EXIT_SUCCESS);上面示例中exit()执行时会先调用atexit()函数注册的releaseSomething()函数之后终止程序。 可以通过atexit注册多个终止处理程序同一个函数若注册多次那它也会被调用多次。 按 POSIX.1-2001 规定至少可以注册 32 个终止处理程序若想查看实际可以注册多少个终止处理程序可以通过调用 sysconf()函数获得。 2.2 atexit注册的函数一定会被调用吗 如果程序异常退出atexit注册的函数不一定会被调用。 以下5种程序终止方式会调用atexit注册的函数。 ① 从main返回 ② 调用exit函数 ③调用 _exit 或 _Exit ④最后一个线程从其启动例程返回 ⑤最后一个线程调用pthread_exit 下面三种异常终止的情况不会调用atexit注册的函数 ① 调用 abort② 接到一个信号并终止③ 最后一个线程对取消请求做出响应 2.2.1 正常退出测试 测试代码 #include stdio.h #include stdlib.hvoid fn1(void); int main(void) {printf(main begain!\n);atexit(fn1);printf(main exit!\n);return 0; }void fn1() {printf(fn1 exit!\n); } 结果显示程序退出前执行了atexit注册的函数。 2.2.2 异常退出测试 测试代码 #include stdio.h #include stdlib.hvoid fn1(void); int main(void) {printf(main begain!\n);atexit(fn1);// 发出中断信号abort();printf(main exit!\n);return 0; }void fn1() {printf(fn1 exit!\n); } 结果显示程序终止前没有执行atexit注册的函数。
http://www.dnsts.com.cn/news/51422.html

相关文章:

  • 做ppt素材的网站青岛黄岛区网站开发
  • 海口房产网站建设网站性能需求
  • 怎么做有声小说网站播音员鄂州seo厂家
  • phpstudy配置网站小公司网络搭建
  • 昆明著名网站建设福州响应式网站建设
  • opencart做视频网站seo品牌优化
  • asp网站图片轮播代码职业培训机构需要什么资质
  • 在那个网站可以搜索做凉菜视频cms开源建站系统
  • 制作公司网站要多少钱建设银行网站打不井
  • 惠州网站建设找哪个公司百度资源站长平台
  • 普陀区网站建设前端广州海珠网站设计
  • 祥符网站建设做外包网站搭建
  • 网站策划书3000电子商务开发公司
  • 深圳网站建设 设计贝尔利外贸营销型网站设计
  • 昆明软讯科技网站建设搞笑网站全站源码
  • 女士服装定制网站装修设计费收费标准2020
  • 点击一个网站跳转到图片怎么做的建设部一建注册网站
  • 陕西的建设厅官方网站广州做网站做得比较好
  • 长沙网站备案拍照点凡客网能直接做网站
  • 代发网站建设wordpress拖拽式编辑器
  • 网站建设的具体步骤有哪些李守洪排名大师怎么样
  • 站长工具seo查询电商建站工具
  • 广州那里有学做拼多多网站的兰州网站建设lst0931
  • 如何注册域名和网站分销商城小程序开发
  • 网站添加视频龙岗建设网站制作
  • 搭建网站备案建设门户网站需要多少钱
  • 容桂营销网站建设快速做网站公司报价
  • 阜宁做网站哪家最好外贸单子怎么找
  • 网站自动生成最好看免费视频直播在线
  • 电脑网站打不开了但是有网商务邮箱注册