Diferencia entre revisiones de «Stdlib.h»
Sin resumen de edición |
m Revertidos los cambios de 189.234.150.26 a la última edición de Shooke |
||
Línea 67: | Línea 67: | ||
<source lang="c">#define NULL 0</source> |
<source lang="c">#define NULL 0</source> |
||
<source lang="c">#define NULL 0L</source> |
<source lang="c">#define NULL 0L</source> |
||
<source lang="c">#define |
<source lang="c">#define NULL ((void *) 0)</source> |
||
== Tipos de datos miembro == |
|||
En la biblioteca <code>stdlib.h</code> se define un [[tipo de dato]] llamado <code>size_t</code> que representa el tamaño de un vector para las funciones miembro de la biblioteca. En la práctica, se asume que <code>size_t</code> es equivalente a un entero sin signo (positivo).<ref name="size_t">[http://www.embedded.com/columns/programmingpointers/200900195?pgno=2 Article: Why size_t matters]</ref> |
|||
También se definen dos tipos de datos más, <code>div_t</code> y <code>ldiv_t</code>. Son los tipos devueltos por las funciones '''div''' y '''ldiv'''. Según el estándar, estos tipos se definen del siguiente modo: |
|||
<source lang="c"> |
|||
typedef struct { |
|||
int quot, rem; |
|||
} div_t;</source> |
|||
<source lang="c"> |
|||
typedef struct { |
|||
long int quot, rem; |
|||
} ldiv_t;</source> |
|||
== Funciones no estándar == |
== Funciones no estándar == |
||
Revisión del 17:08 5 oct 2009
stdlib.h (std-lib: standar 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
Las funciones que pertenencen 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 (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 |
terminar ejecución del programa |
getenv |
recuperar una variable de entorno |
system |
ejecutar un comando externo |
Ordenación y búsqueda | |
bsearch |
búsqueda binaria en un array |
qsort |
ordena un vector usando Quicksort |
Matemáticas | |
abs, labs |
valor absoluto |
div, ldiv |
división entera o euclidiana |
Constantes miembro
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
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
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
Referencias
Enlaces externos
- resumen de stdlib.h en cplusplus.com (febrero de 2006)