从here:
g_array_append_val()
#define g_array_append_val(a,v)
将值添加到数组的末尾。必要时,阵列大小会自动增加。
g_array_append_val()
是一个宏,它使用对值参数v
的引用。这意味着您不能将其与文字值(例如“27”)一起使用。您必须使用变量。参量
a
一个GArrayv
附加到GArray的值像这样的所有宏定义是否可能不太正确?
a
是否不是指向GArray的指针? 最佳答案
看来文档的术语是将指向GArray
的指针称为GArray
。 (这不是准确的IMO)。
例如,查看下一项:
g_array_append_vals()
GArray *
g_array_append_vals (GArray *array,
gconstpointer data,
guint len);
将len元素添加到数组的末尾。参数数组GArray ...
返回GArray的
在这里,数组显然是
GArray
的指针。在LPs' comment中,可能的原因可能是因为无法创建GArray的对象。 (如果我没记错的话,它是一个不透明的指针),并且通过调用
g_array_new()
获得的新数组的类型为GArray *
。