'''~+Tipos de datos de GLib+~''' == == Dentro de la biblioteca GLib está implementada una serie de tipos de datos que facilita, si cabe, el tratamiento de los datos y además tiene la propiedad de mejorar la portabilidad de los programas. Los tipos que se usan en GLib no son muy diferentes de los utilizados en el estándar de C, por lo cual no resultará complicado familiarizarse con ellos. A continuación se podrá observar una tabla de correspondencia entre los tipos de GLib contra los de estándar de C. '''Tabla 6-1.1. ''Tipos de GLib que corresponden con los del estándar C.''''' || '''Tipos GLib.''' || '''Tipos estándar C.''' || ||`gchar` || `char` || ||`gint` || `int` || ||`gshort` || `short` || ||`glong` || `long` || ||`gfloat` || `float` || ||`gdouble` || `double` || Como se ha demostrado en la tabla, los tipos de GLib no difieren en gran medida de los utilizados al programar con los tipos estándar de C, aunque es altamente recomendable la familiarización con estos tipos si se desea trabajar con la plataforma GNOME. GLib también posee una serie de tipos que hacen más sencillo el tratamiento de datos. Algunos tienen su correspondencia en C, pero facilitan su utilización; otros sirven para mantener el mismo tamaño de datos de una plataforma a otra y, finalmente, hay otros que no tienen correspondencia con el estándar de C, pero que resultarán bastante útiles. '''Tabla 6-1.2. ''Tipos de GLib que facilitan el uso de tipos del estándar C.''''' ||'''Tipos de GLib''' ||'''Tipos del C estándar.''' ||'''Definición''' || ||`gpointer` ||<|2> `void *`|| `gpointer` es un puntero sin tipo, que luce mejor que escribir `void *`. || ||`gconstpointer`||`gconstpointer` es un puntero a una constante. Los datos a los que apuntan no deberían ser cambiados. Este tipo suele usarse en los prototipos de funciones para indicar que el valor al que apunta la función no debería ser cambiado en el interior de la función. || ||`guchar`||`unsigned char`||<(|4>Como se puede observar, estos tipos son idénticos a los tipos de C que carecen de signo, pero con la ventaja de que son más visuales y fáciles de usar.|| ||`guint`||`unsigned int`|| ||`gushort`||`unsigned short`|| ||`gulong`||`unsigned long`|| '''Tabla 6-1.3. ''Tipos de GLib que aseguran el tamaño del dato entre plataformas.''''' ||<:>'''Tipo'''||<:>'''Rango de tamaño del dato.'''|| ||`gint8`||<:>-128 a 127|| ||`guint8`||<:>0 a 255|| ||`gint16`||<:>-32.768 a 32.767|| ||`guint16`||<:>0 a 65535|| ||`gint32`||<:>-2.147.483.648 a 2.147.483.647|| ||`guint32`||<:>0 a 4.294.967.295|| ||`gint64`||<:>-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807|| ||`guint64`||<:>0 a 18.446.744.073.709.551.615|| '''Tabla 6-1.4. ''Tipos de GLib nuevos que no están en el estándar de C.''''' ||<:>'''Tipos de GLib'''||<:>'''Definición'''|| ||`gboolean`||Este tipo es booleano y sólo contendrá los valores `TRUE` o `FALSE`.|| ||`gsize`||Es un entero de treinta y dos bits sin signo que sirve para representar tamaños de estructuras de datos.|| ||`gssize`||Es un entero de 32 bits con signo, que sirve para representar tamaños de estructuras de datos.|| Quizás, la existencia de tipos tales como `gint8`, `gint16`, `gsize`, etcétera, pudiese sugerir mayor complejidad a la hora de aprender a utilizar la biblioteca GLib. Sin embargo es importante denotar que cuando se programa mediante esta biblioteca, los tipos más utilizados son `char`, `int`, `double`, etc., aunque ahora se antepondrá una letra "g" a cada tipo. ---- '''''Volver a:''''' [[Documentacion/Desarrollo/Glib|GLib]]