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.

 Смотрите также     abort

 Пример:

 #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