stdlib.h — заголовок (заголовочный файл) стандартной
библиотеки общего назначения языка Си, который содержит в себе
функции, занимающиеся выделением памяти, контроль процесса выполнения
программы, преобразования типов и другие. Заголовок вполне совместим с C++ и в C++
известен как cstdlib. Название «stdlib» расшифровывается
как «standard library» (стандартная библиотека). Члены stdlib.h можно разделить на следующие категории:
преобразования типов, управление памятью, контроль процесса, сортировка и
поиск, математика.
| Имя | Описание |
|---|
| Преобразование типов |
|---|
atof | строка в число двойной точности (НЕ float) | atoi | строка в целое число | atol | строка в длинное целое число | strtod | строка в число двойной точности (double) | strtol | строка в длинное целое число | strtoul | строка в беззнаковое длинное целое число (unsigned long int) | | Генерация псевдослучайных последовательностей |
|---|
rand | генерирует псевдослучайное значение | srand | устанавливает начальное значение генератора псевдослучайных чисел | | Выделение и освобождение памяти |
|---|
malloc
calloc
realloc | выделяет память из кучи | free | освобождает память обратно в кучу | | Контроль процесса выполнения программы |
|---|
abort | некорректное
завершение выполнения | atexit | регистрирует обратный вызов функции для
выхода из программы | exit | завершает выполнение программы | getenv | извлекает переменные окружения | system | выполняет внешнюю команду | | Сортировка и поиск |
|---|
bsearch | двоичный поиск в массиве | qsort | сортировка массива | | Математика |
|---|
abs
labs | абсолютная величина | div
ldiv | деление целых чисел | | Многобайтовые операции/ широкие символы |
|---|
mblen | размер многобайтовых символов[1] | mbtowc, wctomb, mbstowcs, wcstombs | преобразование многобайтовых и широких символов[2] | Члены-константыNULL
Заголовочные файлы stdlib.h и stddef.h
определяют макрос NULL, который порождает константный нуль-указатель, и представляет собой
значение указателя, гарантирующего корректность указателя, не
указывающего на действительный (корректный) адрес в памяти. Варианты
NULL может быть опеределен как константное выражение, равное целому
нулевому числу (нулю), длинному целому нулю, или нуль приводится к
указателю типа void *:
#define NULL 0
| #define NULL 0L
| #define NULL ((void *) 0)
|
Несмотря на то, что константа нуль-указателя всегда представляется в
Си символьной константой 0 или 0, приведенным к void-указателю, реальное
битовое представление подобного указателя зависит от системы и может
содержать однобитовые значения.Тип членов-данных
size_t
Заголовочные файлы stdlib.h и stddef.h
определяют тип данных, называемый size_t[3],
который используется для представления размера объекта. Библиотечные
функции, использующие размеры, ожидают типа size_t, а
оператор sizeof превращается в size_t. Настоящий тип size_t платформо-независим;
распространенной ошибкой является подразумевание size_t как
беззнаковое целое (unsigned int), что может привести к
ошибкам программирования,[4]
причем в первую очередь это касается 64-битных архитектур. div_t, ldiv_t
Также определены два менее широко используемых типа данных div_t
и ldiv_t. Они являются возвращаемыми типами функций div и ldiv.
Стандарт определяет их следующим образом:typedef struct {
int quot, rem;
} div_t; |
|
typedef struct{ int quot, rem;
} div_t;
|
typedef struct {
long int quot, rem;
} ldiv_t;
Материал из Википедии — свободной энциклопедии
|