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
editarMembros 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
editarOs 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
editarUm 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
editaritoa é 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
editarReferences
editar- sumário de stdlib.h em cplusplus.com, acessado em Fevereiro de 2006.