Должен ли я выделять память для int, который я использую в качестве ключа, или я могу просто использовать локальную переменную в функциях для вставки и поиска?
Нет, вы не можетепередать целое число по значению, вам не нужно выделять его в куче с помощью malloc()
и т. п.
Что делает g_int_to_pointer?
Извините, яне знаю этого.
Если я пишу функцию GDestroy, мне нужно будет освободить память?
Вы имели в виду GDestroyNotify ?Как указано в документации:
Указывает тип функции, которая вызывается при уничтожении элемента данных.Он передает указатель на элемент данных и должен освободить всю память и ресурсы, выделенные для него.
Да, вам нужно освободить выделенную память.