GLib宏文档

时间:2016-04-18 08:56:42

标签: c glib

来自here

  

g_array_append_val()

#define             g_array_append_val(a,v)
     

将值添加到数组的末尾。如有必要,阵列将自动增大。

     

g_array_append_val()是一个宏,它使用对值参数v的引用。这意味着您不能将其与文字值一起使用,例如" 27"。你必须使用变量。

     

参数

     

a GArray

     

v要附加到GArray的值

像这样的所有宏定义都可能不正确吗?不是a 指针到GArray吗?

1 个答案:

答案 0 :(得分:4)

该文档的术语似乎是将GArray的指针调用为GArray。 (这不是准确的IMO)。

例如,请查看下一项:

  

g_array_append_vals()

GArray *
g_array_append_vals (GArray *array,
                     gconstpointer data,
                     guint len);
     

将len元素添加到数组的末尾。

     

参数
阵列a GArray
...

  返回
GArray

这里的数组显然是指向GArray的指针。

LPs' comment可能的原因可能是因为无法创建GArray的对象。 (如果我没记错的话,这是一个不透明的指针),通过调用g_array_new()获得的新数组的类型为GArray *