Описание функций Си

       

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



Содержание раздела