Russian Belarusian English German Japanese Ukrainian

Функция


Проверяет условия и возможность прерывания выполнения программы.

Синтаксис


#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.

Пример


#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;
}

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Поиск по сайту