Assert
assert
Функция Проверяет условия и возможность прерывания выполне- ния программы.
Синтаксис #include
void assert(int test);
Файл, содержащий assert.h прототип
Описание Функция assert представляет собой макрокоманду, которая расширяется до оператора if; если параметр test принимает нулевое значение, то assert прерыва- ет программу (при помощи вызова abort) и выводит сообщение в stderr.
assert выводит следующее сообщение:
Assertion failed: , file , line
Позиции filename и linenum, перечисленные в сообще- нии, являются именем исходного файла и номером строки программы, в которой появляется макрокоманда assert.
Если в исходный код программы вы вставите перед оператором #include оператор #define NDEBUG ("без отладки"), то функция assert будет воспринята как комментарий.
Возвращаемое Нет. значение
Переносимость Данная макрокоманда поддерживается на некоторых системах UNIX, включая Systems III и V, совместима с ANSI C.
Смотрите также
Пример:
#include
#include
#include
struct ITEM { int key; int value; };
/* Добавление элемента в список. Проверка, является ли элемент ненулевым */
void additem(struct ITEM *itemptr) { assert(itemptr != NULL); /*... добавление элемента ... */ }
int main(void) { additem(NULL); return 0; }
Результат Assertion failed: itemptr != NULL, file C:\TC\ASSERT.C, line 12