CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
assert
assert
Функция Проверяет условия и возможность прерывания выполнения программы. Синтаксис #include <assert.h> void assert(int test); Файл, содержащий assert.h прототип Описание Функция assert представляет собой макрокоманду, которая расширяется до оператора if; если параметр test принимает нулевое значение, то assert прерывает программу (при помощи вызова abort) и выводит сообщение в stderr. assert выводит следующее сообщение: Assertion failed: <test>, file <filename>, line <linenum> Позиции filename и linenum, перечисленные в сообще- нии, являются именем исходного файла и номером строки программы, в которой появляется макрокоманда assert. Если в исходный код программы вы вставите перед оператором #include <assert.h> оператор #define NDEBUG ("без отладки"), то функция assert будет воспринята как комментарий. Возвращаемое Нет. значение Переносимость Данная макрокоманда поддерживается на некоторых системах UNIX, включая Systems III и V, совместима с ANSI C. Смотрите также abort. Пример: #include <assert.h> #include <stdio.h> #include <stdlib.h> 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:\BC\ASSERT.C, line 12