Stdlib.h

Stdlib.h

stdlib.h

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

Содержание

Member functions

Члены 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 {
    long int quot, rem;
} ldiv_t;

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

itoa

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

См. также

Примечания

  1. C++ Resources Network — stdlib.h проверено 2009 12 15
  2. C++ Resources Network — stdlib.h проверено 2009 12 15
  3. Согласно стандарту ISO/IEC 9899 C99, Глава 7.20 General utilities <stdlib.h> (point number 2) и Приложение B.19 General utilities <stdlib.h>. Определение может также содержаться в stddef.h, если кто-то захочет избежать подключения всей stdlib.
  4. 20 issues of porting C++ code on the 64-bit platform

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Stdlib.h" в других словарях:

  • Stdlib.h — is the header of the general purpose standard library of C programming language which includes functions involving memory allocation, process control, conversions and others. It is compatible with C++ and is known as cstdlib in C++. The name… …   Wikipedia

  • Stdlib.h — Saltar a navegación, búsqueda stdlib.h (std lib: standar library o biblioteca estándar) es el archivo de cabecera de la biblioteca estándar de propósito general del lenguaje de programación C. Contiene los prototipos de funciones de C para… …   Wikipedia Español

  • stdlib.h — (std lib: standard library o biblioteca estándar) es el archivo de cabecera de la biblioteca estándar de propósito general del lenguaje de programación C. Contiene los prototipos de funciones de C para gestión de memoria dinámica, control de… …   Wikipedia Español

  • stdlib.h — Стандартная библиотека языка программирования С assert.h complex.h ctype.h errno.h fenv.h float.h inttypes.h iso646.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stdbool.h stddef.h stdint.h …   Википедия

  • System (stdlib) — Saltar a navegación, búsqueda La función system() está incluída en la biblioteca cuya cabecera es <stdlib.h>. System permite ejecutar a su vez otras funciones como: cls , dir o pause . Por ejemplo, al escribir system ( pause ) se está… …   Wikipedia Español

  • system (stdlib) — system() es una función del lenguaje de programación C incluida en su biblioteca estándar, dentro de la cabecera <stdlib.h>. Sirve para ejecutar subprocesos o comandos del sistema operativo. «system» permite ejecutar a su vez otras… …   Wikipedia Español

  • Dao (programming language) — Infobox programming language name = Dao paradigm = Multi paradigm year = 2006 designer = Limin Fu latest release version = dao 1.0 preview latest release date = 2008 04 25 typing = statically typed or dynamically typed influenced by = C++, Lua,… …   Wikipedia

  • Strtod — is a C language function that converts an ASCII string to a double precision value. It is utilized via the following sequence:double strtod(const char *restrict, char **restrict); [OpenGroup Technical Standards Documentation] Strtod is included… …   Wikipedia

  • strtod — (сокр. от string to double, «строку в число двойной точности»)  функция языка Си, конвертирующая символ строки в число с плавающей запятой двойной точности. Определение функции имеет вид: double strtod ( const char * str, char ** endptr… …   Википедия

  • Memory leak — A memory leak, in computer science (or leakage, in this context), occurs when a computer program consumes memory but is unable to release it back to the operating system. In object oriented programming, a memory leak happens when an object is… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»