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
[editar]Las 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
[editar]Los 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
[editar]En 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
[editar]itoa (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
[editar]Referencias
[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)