栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

函数简介篇——assert()宏

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

函数简介篇——assert()宏

说明:
  本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。
  QQ 群 号:513683159 【相互学习】
内容来源:
  C语言 assert 函数 - C语言零基础入门教程、assert() 断言函数,用于在调试过程中捕捉程序错误、C语言解读assert函数

目录:
    • 一、函数简介
    • 二、函数示例

一、函数简介

  assert()常称为断言函数,大部分编译器下assert()是宏不是函数
  1️⃣宏原型:void assert( int expression );
  2️⃣头文件:assert.h
  3️⃣函数功能
    通过检查表达式expression的值来决定是否需要终止执行程序,通常用于调试中捕捉程序错误。
    若表达式的值为0(条件不成立),则向标准输出流打印出错信息,调用abort()终止信息
    若表达式的值为非0(条件成立),则无任何作用。
  4️⃣返回值:无
  5️⃣注意
    1.默认情况下,assert()宏仅在debug版本(调试版本)起作用,在release版本(发行版本)被忽略。
    2.使用asser()在函数开始处检验传入参数的合法性
    3.每个asser()只检验一个条件,因为同时检验多个条件时,如果断言失败,无法直观的判断是哪个条件失败。
    4.频繁的调用会极大的影响程序的性能,增加额外的开销。
    5.不要用会改变环境的语句作为断言的表达式。
  

二、函数示例
#include 
#include 
#include 
int main( void )
{
    FILE *fp;

    fp = fopen( "456.txt", "w" );			//以可写的方式打开一个文件,如果不存在就创建一个同名文件
    assert( fp );                           //所以这里不会出错
    fclose( fp );

    fp = fopen( "123.txt", "r" );			//以只读的方式打开一个文件,如果不存在就打开文件失败
    assert( fp );                           //所以这里出错
    fclose( fp );                           //程序永远都执行不到这里来
    return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/864343.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号