Diferencias entre las revisiones 2 y 3
Versión 2 con fecha 2007-12-11 11:40:46
Tamaño: 3633
Comentario: Agregue titulo de la seccion, ya que lo habia olvidado en la previa edicion y cambio en los titulos de tablas desde previo titulo nivel 4 a texto en negrilla
Versión 3 con fecha 2007-12-11 12:01:08
Tamaño: 3700
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 49: Línea 49:

----
'''''Volver a:''''' [:Documentacion/Desarrollo/Glib:GLib]

Tipos de datos de GLib

TableOfContents()

Tipos de datos de GLib

Dentro de GLib está implementada una serie de tipos de datos que nos hace más fácil, si cabe, el tratamiento de los datos y además tiene la propiedad de mejorar la portabilidad de nuestros programas. Los tipos que se usan en GLib no son muy diferentes de los que usamos en el estándar de C. Así que realmente no nos resultará nada complicado acostumbrarnos a usarlos. De momento, vamos a comenzar aprendiendo los tipos de GLib que corresponden con los del 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 podemos observar en la tabla, estos tipos no son muy diferentes de los que usamos cuando programamos con los tipos del estándar de C, aunque es altamente recomendable poner un poco de esfuerzo para acostumbrarse a estos tipos si se va a trabajar con la plataforma GNOME. GLib también posee una serie de tipos que nos hacen más sencillo el tratamiento de datos. Algunos tienen su correspondencia en C, pero nos hacen más sencillo su uso; otros nos 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 nos 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

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

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, nuestro lector más novato haya saltado de su asiento al ver algunos tipos como gint8, gint16, gsize, etc. Para aliviarle esta posible preocupación, es interesante denotar que cuando se programa con GLib, los tipos más usados son los char, int, double, etc., aunque ahora usará los mismos, pero con una "g" delante del tipo.


Volver a: [:Documentacion/Desarrollo/Glib:GLib]

Documentacion/Desarrollo/Glib/TiposDeDatosDeGlib (última edición 2008-12-04 08:48:55 efectuada por anónimo)