WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Стандартная библиотека
языка программирования С

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

Функции

ИмяОписаниеСоответствие стандартам
Преобразование типовC89C99
atofстрока в число двойной точности (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устанавливает начальное значение генератора псевдослучайных чиселДаДа
Выделение и освобождение памяти
malloc
calloc
realloc
выделяет память из кучиДаДа
freeосвобождает память обратно в кучуДаДа
Контроль процесса выполнения программы
abortнекорректное завершение выполненияДаДа
atexitрегистрирует обратный вызов функции, которую нужно будет выполнить перед завершением работы программыДаДа
exitзавершает выполнение программыДаДа
getenvизвлекает переменные окруженияДаДа
systemвыполняет внешнюю командуДаДа
Сортировка и поиск
bsearchдвоичный поиск в массивеДаДа
qsortсортировка массиваДаДа
Математика
abs, labsабсолютная величина целого числаДаДа
llabs, imaxabsНетДа
div
ldiv
деление целых чиселДаДа
Многобайтовые операции/ широкие символы
mblenразмер многобайтовых символов[1]НетДа
mbtowc, wctomb, mbstowcs, wcstombsпреобразование многобайтовых и широких символов[1]НетДа

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[2], который используется для представления размера объекта. Библиотечные функции, использующие размеры, принимают на вход значения именно этого типа. Значения типа size_t возвращает оператор sizeof.

Настоящий тип size_t платформо-независим; распространенной ошибкой является подразумевать под size_t беззнаковое целое (unsigned int), что может привести к ошибкам программирования,[3] причём в первую очередь это касается 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. 1 2 C++ Resources Network — stdlib.h проверено 2009 12 15
  2. Согласно стандарту ISO/IEC 9899 C99, Глава 7.20 General utilities <stdlib.h> (point number 2) и Приложение B.19 General utilities <stdlib.h>. Определение может также содержаться в stddef.h, если кто-то захочет избежать подключения всей stdlib.
  3. 20 issues of porting C++ code on the 64-bit platform Архивировано 4 января 2010 года.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии