У меня есть такая функция, которая инициализирует глобальную хэш-карту.
GHashTable* globalHT;
init() {
GQueue* queue = g_queue_new();
g_hash_table_insert (globalHT,
"key",
queue);
}
void main() {
init();
GQueue* myqueueRef = (GQueue*) g_hash_table_lookup (globalHT, "key");
// Is myqueueRef valid here?
}
Теперь, когда я вызываю init () внутри main () и затем ссылаюсь на значение ключа, myqueueRef будет NULL или действительным?
Я пытаюсь убедиться, что автоматическая переменная "queue" внутри init () не является локальной и не перестает существовать при возврате init ()