gtk_signal_connect(GTK_OBJECT(window), "delete_event",
GTK_SIGNAL_FUNC(delete_event_cb), NULL);
gtk_signal_connect(GTK_OBJECT(button), "clicked",
GTK_SIGNAL_FUNC(button_click_cb), label);
"gtk_signal_connect()" определяет, за каким GtkObject следить, к какому сигналу подключиться, обработчик, который подключить, и, наконец, аргумент "user_data" -- это произвольный gpointer, который будет передан в обоработчик. Макрос "GTK_SIGNAL_FUNC()" транслирует обработчик в стандартную функцию; так как обработчики имеют разнообразие типов, альтернативой будут десятки вариантов "gtk_signal_connect()".
Gtk+ выполняет обильное количество проверок безопасности во время выполнения; макрос "GTK_OBJECT()" включает проверку типа в дополнение к транслирванию C, а "gtk_signal_connect()" проверит, действительно ли объект может испускать сигнал, который вы указали.