Glib数据类型
Glib提供了自己的一组在GTK+和GNOME开发中使用的替代标准C数据类型的数据类型。这样做的原因不仅是便于阅读和使用,而且还便于移植。不管在何种平台上编译应用程序,许多平台对数据的尺寸和运算都会具有许多相同的限制。Glib数据类型保证不管什么样的系统和平台,都是相同的大小。
Glib的数据类型
| 数据类型 | 说明 |
|---|---|
| gboolean | 真假或开关的值,一般与Glib定义的TRUE和FALSE常量使用 |
| gpointer | 对应与void *,但是可读性更强 |
| gchar、guchar | 对应一个字符和一个无符号字符 |
| gint、guint、gshort | 取代标准c的相应类型 |
| glong、gulong | 长度根据硬件和操作系统体系结构的不同而变化 |
| gint8、guint8、gint16、 | |
| guint16、gint32、guint32、 | |
| gint64、guint64 | 具有已知长度的有符号和无符号整数数据类型。对于64位有符号和无符号整数值,仅在范围有限的机器上支持 |
| gfloat、gdouble | 取代c语言提供的float和double |
| gsize | 用来保存数据结构和数据类型尺寸的无符号数据类型 |
| gssize | 用来保存数据结构和数据类型尺寸的有符号数据类型 |
上述这些类型,可以保证一致性和可读性。不管编译应用程序的平台是什么,定义一组具有可保证长度的数据类型将是一种很好的想法,同时笔记guchar减少了击键次数(unsigned char)。
测试了一下每种数据类型所占的字节数:
1 |
|