如何找到给定 GArray 的长度?

How can I find the length of a given GArray?

我有一个 GValue 的 GArray(全部非零),它是在运行时用 g_array_append_val 分配的。我想知道如何找出最后一个元素的索引是什么,或者更准确地说,数组包含多少个元素。代码如


for (length=0;g_value_get_int(&g_array_index(array, GValue, length)); length++);
return length

会因越界而失败。

好像没有很好的记录,但是数组中元素的数量存储在array->len.

字段中

描述了here