stdlib.h — заголовочный файл стандартной библиотеки языка Си, который содержит в себе функции, занимающиеся выделением памяти, контролем процесса выполнения программы, преобразованием типов и другие. Заголовок вполне совместим с C++ и известен в нём как cstdlib. Название «stdlib» расшифровывается как «standard library» (стандартная библиотека).

Функции Имя Описание Соответствие стандартам Преобразование типов C89 C99atof строка в число двойной точности (double; НЕ float) atoi строка в целое число (integer) atol строка в длинное целое число (long integer) atoll строка в длинное целое число (long long integer) strtod строка в число двойной точности (double) strtof строка в число одиночной точности (float) strtol строка в длинное целое число (long integer) strtold строка в длинное двойной точности (long double) strtoll строка в длинное целое число (long long integer) strtoul строка в беззнаковое длинное целое число (unsigned long integer) strtoull строка в беззнаковое длинное целое число (unsigned long long integer) Генерация псевдослучайных последовательностейrand генерирует псевдослучайное значение srand устанавливает начальное значение генератора псевдослучайных чисел Выделение и освобождение памятиmalloccallocrealloc выделяет память из кучи free освобождает память обратно в кучу Контроль процесса выполнения программыabort некорректное завершение выполнения atexit регистрирует обратный вызов функции, которую нужно будет выполнить перед завершением работы программы exit завершает выполнение программы getenv извлекает переменные окружения system выполняет внешнюю команду Сортировка и поискbsearch двоичный поиск в массиве qsort сортировка массива Математикаabs, labs абсолютная величина целого числа llabs, imaxabs divldiv деление целых чисел Многобайтовые операции/ широкие символыmblen размер многобайтовых символовC++ Resources Network — stdlib.h проверено 2009 12 15 mbtowc, wctomb, mbstowcs, wcstombs преобразование многобайтовых и широких символов

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Согласно стандарту ISO/IEC 9899 C99, Глава 7.20 General utilities <stdlib.h> (point number 2) и Приложение B.19 General utilities <stdlib.h>. Определение может также содержаться в stddef.h, если кто-то захочет избежать подключения всей stdlib., который используется для представления размера объекта. Библиотечные функции, использующие размеры, принимают на вход значения именно этого типа. Значения типа size_t возвращает оператор sizeof.

Настоящий тип size_t платформо-независим; распространенной ошибкой является подразумевать под size_t беззнаковое целое (unsigned int), что может привести к ошибкам программирования,20 issues of porting C++ code on the 64-bit platform причём в первую очередь это касается 64-битных архитектур.

div_t, ldiv_t Также определены два менее широко используемых типа данных — div_t и ldiv_t. Они являются возвращаемыми типами функций div и ldiv. Стандарт определяет их следующим образом:

typedef struct { int quot, rem; } div_t;

typedef struct { long int quot, rem; } ldiv_t;

Нестандартные функции

itoa itoa — общая функция, входящая во множество реализаций stdlib.h, но не определяемая стандартом. Возможно, её так часто включают в библиотеки благодаря её описанию в книге «Язык программирования Си». Аналогичного эффекта можно добиться при помощи функции sprintf, которая определена в стандарте.

См. также stdio.h Стандартная библиотека языка Си Широкий символ

Примечания

Ссылки Список функций stdlib.h на сайте cplusplus.com Why size_t matters Стандартные Вспомогательные Функции (stdlib.h) Функции библиотеки stdlib.h