stdlib.h
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 procesos y otras. Es compatible con C++ donde se conoce como cstdlib
.
Funciones miembro
editarLas funciones que pertenecen a stdlib.h
pueden clasificarse en las siguientes categorías: conversión, memoria, control de procesos, ordenación y búsqueda, matemáticas.
Nombre | Descripción |
---|---|
Conversión de tipos | |
atof (ascii to float) |
cadena de caracteres a coma flotante |
atoi (ascii to integer) |
cadena de caracteres a entero |
atol (C Standard Library)]] (ascii to long) |
cadena de caracteres a entero tamaño largo |
strtod (string to double) |
cadena de caracteres a coma flotante tamaño doble |
strtol (string to long) |
cadena de caracteres a entero largo |
strtoul (string to unsigned long) |
cadena de caracteres a entero largo sin signo (positivo) |
Generación de números pseudo-aleatorios | |
rand |
Genera un número pseudo-aleatorio |
srand |
Establece la semilla para el generador de números pseudo-aleatorios |
Gestión de memoria dinámica | |
malloc, calloc, realloc |
Reservan memoria dinámica del heap (montón o montículo) |
free |
Liberan memoria devolviéndola al heap |
Control de procesos | |
abort |
terminar ejecución anormalmente |
atexit |
registrar una función callback para la salida del programa |
exit (operating system) |
terminar ejecución del programa |
getenv |
recuperar una variable de entorno |
system (C Standard Library) |
ejecutar un comando externo |
Ordenación y búsqueda | |
bsearch |
búsqueda binaria en un array |
qsort (C Standard Library) |
ordena un vector (informática) usando Quicksort |
Matemáticas | |
abs, labs |
valor absoluto |
div, ldiv |
división entera o euclidiana |
Constantes miembro
editarLos ficheros de cabecera stdlib.h
y stddef.h
definen la macro NULL, que produce una constante puntero nulo, y representa un valor de puntero que no apunta a ninguna dirección de memoria válida. NULL puede definirse como una expresión constante equivalente a los valores cero entero, cero entero largo o cero convertido (casting) a puntero vacío (void *):
#define NULL 0
#define NULL 0L
#define NULL ((void *) 0)
Tipos de datos miembro
editarEn la biblioteca stdlib.h
se define un tipo de dato llamado size_t
que representa el tamaño de un vector para las funciones miembro de la biblioteca. En la práctica, se asume que size_t
es equivalente a un entero sin signo (positivo).[1]
También se definen dos tipos de datos más, div_t
y ldiv_t
. Son los tipos devueltos por las funciones div y ldiv. Según el estándar, estos tipos se definen del siguiente modo:
typedef struct {
int quot, rem;
} div_t;
typedef struct {
long int quot, rem;
} ldiv_t;
Funciones no estándar
editaritoa (integer to ascii) es una función que normalmente se incluye en muchas implementaciones de stdlib.h
aunque ésta no venga definida por el estándar. Sirve para convertir un entero a cadena de caracteres.
Véase también
editarReferencias
editar- ↑ «Article: Why size_t matters». Archivado desde el original el 26 de septiembre de 2007. Consultado el 30 de diciembre de 2007.
Enlaces externos
editar- resumen de stdlib.h en c-p-p.net (enero de 2012)