如何找到给定GArray的长度?

Rei*_*ani 6 c glib

我有一个Grray的GValue(全部为非零),它已在运行时使用g_array_append_val分配.我想知道如何才能找出最后一个元素的索引是什么,或者更确切地说是数组所包​​含的元素数量.代码就像


for (length=0;g_value_get_int(&g_array_index(array, GValue, length)); length++);
return length
Run Code Online (Sandbox Code Playgroud)

会因为出界而失败.

use*_*751 12

它似乎没有详细记录,但数组中的元素数量存储在字段中array->len.

  • 为了将来的参考,它在[此处](https://developer.gnome.org/glib/stable/glib-Arrays.html#GArray)中有记录. (2认同)