stdlib.h
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
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 | |
malloccallocrealloc | 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 | |
abslabs | valor absoluto |
divldiv | divisão inteira |
Membros constantes
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
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, , 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
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
References
- sumário de stdlib.h em cplusplus.com, acessado em Fevereiro de 2006.