Diferencia entre revisiones de «Stdlib.h»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Sin resumen de edición
J.delanoy (discusión · contribs.)
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 NULLfyhj9u0ty0v ksarpkldgj`dfo<hoimdñf lajhot+
<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