unsigned long strtoul(const char *s, char **endp, int base)
strtoulработает так же, как и strtol , с той лишь разницей, что возвращает результат типа unsigned long , а в случае переполнения - ULONG_MAX.
int rand(void)
randвыдает псевдослучайное число в диапазоне от 0 до RAND_MAX; RAND_MAX не меньше 32767.
void srand(unsigned int seed)
srandиспользует seed в качестве семени для новой последовательности псевдослучайных чисел. Изначально параметр seed равен 1.
void *calloc(size_t nobj, size_t size)
callocвозвращает указатель на место в памяти, отведенное для массива nobj объектов, каждый из которых размера size , или, если памяти запрашиваемого объема нет, NULL. Выделенная область памяти обнуляется.
void *malloc(size_t size)
mallocвозвращает указатель на место в памяти для объекта размера size или, если памяти запрашиваемого объема нет, NULL. Выделенная область памяти не инициализируется.
void *realloc(void *p, size_t size)
reallocзаменяет на size размер объекта, на который указывает p . Для части, размер которой равен наименьшему из старого и нового размеров, содержимое не изменяется. Если новый размер больше старого, дополнительное пространство не инициализируется, realloc возвращает указатель на новое место памяти или, если требования не могут быть удовлетворены, NULL ( *p при этом не изменяется).
void free(void *р)
freeосвобождает область памяти, на которую указывает p ; эта функция ничего не делает, если p равно NULL. В p должен стоять указатель на область памяти, ранее выделенную одной из функций: calloc , malloc или realloc .
void abort(void *р)
abortвызывает аварийное завершение программы, ее действия эквивалентны вызову raise(SIGABRT).
void exit(int status)
exitвызывает нормальное завершение программы. Функции, зарегистрированные с помощью atexit, выполняются в порядке, обратном их регистрации. Производится опорожнение буферов открытых файлов, открытые потоки закрываются, и управление возвращается в среду, из которой был произведен запуск программы. Значение status , передаваемое в среду, зависит от реализации, однако при успешном завершении программы принято передавать нуль. Можно также использовать значения EXIT_SUCCESS (в случае успешного завершения) и EXIT_FAILURE (в случае ошибки).
int atexit(void (*fcn)(void))
atexitрегистрирует fcn в качестве функции, которая будет вызываться при нормальном завершении программы; возвращает ненулевое значение, если регистрация не может быть выполнена.
int system(const char *s)
systemпepeдaeт cтpoку s oпepaциoннoй cpeдe для выпoлнeния. Если s есть NULL и существует командный процессор, то system возвращает ненулевое значение. Если s не NULL, то возвращаемое значение зависит от реализации.
char *getenv(const char *name)
getenvвозвращает строку среды, связанную с name , или, если никакой строки не существует, NULL. Детали зависят от реализации.
void *bsearch(const void *key, const void *base, size_t n, size_t size, int (*cmp)(const void *keyval, const void *datum))
bsearchищет среди base[0]...base[n-1] элемент с подходящим ключом *key . Функция cmp должна сравнивать первый аргумент (ключ поиска) со своим вторым аргументом (значением ключа в таблице) и в зависимости от результата сравнения выдавать отрицательное число, нуль или положительное значение. Элементы массива base должны быть упорядочены в возрастающем порядке, bsearch возвращает указатель на элемент с подходящим ключом или, если такого не оказалось, NULL.
void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *))
qsortсортирует массив base[0]...base[n-1] объектов размера size в возрастающем порядке. Функция сравнения cmp - такая же, как и в bsearch .
int abs(int n)
absвозвращает абсолютное значение аргумента типа int .
long labs(long n)
labsвозвращает абсолютное значение аргумента типа long .
div_t div(int num, int denom)
divвычисляет частное и остаток от деления num на denom . Результаты типа int запоминаются в элементах quot и rem структуры div_t .
ldiv_t ldiv(long num, long denom)
ldivвычисляет частное и остаток от деления num на denom . Результаты типа long запоминаются в элементах quot и rem структуры ldiv_t .
Макрос assertиспользуется для включения в программу диагностических сообщений.
void assert (int выражение )
Читать дальше