您的位置:首页 > 编程语言 > C语言/C++

C语言中,断言的使用

2016-09-14 14:23 218 查看
标准C中的断言函数assert(),如果断言函数的参数为0时将触发断言函数的执行,会在运行时程序崩溃。

我从FreeRTOS中学到,FreeRTOS中的断言函数configASSERT()和标准C中的断言函数assert()是一样的,

我们可以重新利用他,下面我用一个简单的程序实例,来学习下。

#include<stdio.h>
#include<stdlib.h>
//#include<assert.h>

#define configASSERT(x) if((x) ==0){printf("错误代码位置:%s\n行数:%d\n",__FILE__,__LINE__),exit(1);}

struct ITEM{
int key;
int value;
};
void additem(struct ITEM *itemptr){
configASSERT(itemptr != NULL);
// assert(itemptr != NULL);
printf("additem\n");
}

void main()
{
//struct ITEM *item = (struct ITEM*)malloc(sizeof(struct ITEM));
struct ITEM *item = NULL;
additem(item);
printf("main\n");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: