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
  1. «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