Stdlib.h é um arquivo cabeçalho da biblioteca de propósito geral padrão da linguagem de programação C. Ela possui funções envolvendo alocação de memória, controle de processos, conversões e outras. Ela é compatível com C++ e é chamada cstdlib em C++. O nome "stdlib" vem de standard library (standard library é biblioteca padrão em inglês).

Biblioteca padrão do C

Funções membros

editar

Membros de stdlib.h pode ser classificado em: conversão, memória, controle de processo, ordenamento e busca, matemática.

Name Description
Conversão de tipo
atof string para float
atoi string para integer
atol string para long integer
strtod string para double
strtol string para long int
strtoul string para unsigned long int
Geração de seqüência pseudo-aleatória
rand gera um número inteiro pseudo aleatório
srand seleciona a semente do gerador pseudo aleatório
Alocação e liberação de memória
malloc
calloc
realloc
aloca memória do "heap"
free libera memória de volta para o "heap"
Controle de processos
abort força o término da execução
atexit registra uma função "callback" para saída do programa
exit termina a execução do programa
getenv obtém uma variável de ambiente
system executa um comando externo
Ordenamento e busca
bsearch busca binária em "array"
qsort ordena "array" segundo algoritmo Quick Sort
Matemática
abs
labs
valor absoluto
div
ldiv
divisão inteira

Membros constantes

editar

Os arquivos stdlib.h e stddef.h definem a macro NULL, que é um ponteiro nulo constante, e representa um valor de ponteiro que garante não apontar para um endereço válido na memória. NULL pode ser definido como uma constante igual a int zero, long int zero, ou zero "cast" para void * pointer:

#define NULL 0
#define NULL 0L
#define NULL ((void *) 0)

Nota: Apesar do ponteiro nulo constante ser definido sempre como a representação simbólica 0 ou 0 "cast" para ponteiro void, a representação binária real desse ponteiro é dependente de sistema e pode não ter todos os bits zero.

Membros do tipo de dados

editar

Um tipo de dados chamado size_t é definido em stdlib.h, que representa o tamanho de um "array" na função membro. Na prática, size_t é sempre assumido ter os mesmos requisitos para armazenamento que um unsigned integer. Devido ao fato de que o valor real de size_t é dependente de arquitetura, alguns erros de programação podem ocorrer, [1], especialmente em arquiteturas de 64 bits.

Dois tipo de dados menos utilizados são div_t e ldiv_t. Eles retornam os tipos de retorno das funções div e ldiv. O padrão as define como:

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

Funções não padronizadas

editar

itoa é uma função comum que é incluída várias vezes na biblioteca stdlib.h, mas o padrão não a define. Ela pode ter sido inclusa pelo fato de ter aparecido no livro The C Programming Language.

Veja também

editar

stdio.h

References

editar
  Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.