函数

GLibArrayfree

声明 [src]

gchar*
g_array_free (
  GArray* array,
  gboolean free_segment
)

描述 [src]

释放 GArray 分配的内存。如果 free_segmentTRUE,则释放包含元素的内存块。如果只想释放 GArray 包装器但保留底层数组供其他地方使用,则传递 FALSE。如果 array 的引用计数大于一个,将保留 GArray 包装器,但将 array 的大小设置为零。

如果数组内容指向动态分配的内存,且 free_segmentTRUE 且未为 array 设置 clear_func 函数,则应单独释放这些内存。

此函数不是线程安全的。如果要在多个线程中使用 GArray,请仅使用原子的 g_array_ref()g_array_unref() 函数。

此函数不直接向语言绑定可用。

参数

array

类型: 一个 gpointer 组成的数组

一个 GArray

数据由函数调用者拥有。
free_segment

类型: gboolean

如果 TRUE 则释放实际元素数据。

返回值

类型: gchar*

如果 free_segmentFALSE,则是元素数据,否则为 NULL。应使用 g_free() 释放元素数据。

函数调用者拥有数据,并负责释放它。
该值是一个以 NUL 结尾的 UTF-8 字符串。