GTKを使ったプログラミングのリメイク版です。以前のGTKは内容が古いので、新しくしました。
簡単のためにgladeを使ったプログラミングとなっています。
Gladeを起動すると、こんな画面になります。

まず、プロジェクトのオプションを設定します。

プロジェクト・ファイルの形式をGtkBuilderにします。
使用するツールキットの最低バージョンを上げると、使えるオブジェクトが増えます。
設定が終了すると、オブジェクトを配置して画面を作ります。左のツールアイコンを選んでオブジェクトを配置します。はじめは赤で囲んだウインドウを配置します。

下は、ウインドウにボタンだけを配置した図です。

配置し終わったら、プロパティ設定をします。

window1を選択し、ウインドウのプロパティを設定します。プロパティ項目は色々あるので、ここではシグナル設定のみをします。ウインドウが閉じたときに、gtkプログラムを終了するコマンド、gtk_main_quit()が実行されるように設定します。

ボタンが押されたときのシグナル設定もしておきます。ボタンクリックで、on_button1_clicked()が実行されるようにします。この関数は標準関数ではないので、後で自分で作る必要があります。
ここまでできたら、test_proglam.gladeと名前をつけて、保存します。
#include <gtk/gtk.h>
/*
 * コールバック関数。
 * GtkBuilderから呼び出す場合、G_MODULE_EXPORTが必要。
 */
G_MODULE_EXPORT void on_button1_clicked(GtkButton *button, gpointer user_data){
	/* 終了する。 */
	gtk_main_quit();
}
int main(int argc, char* argv[]){
	GtkBuilder* builder; /* GtkBuilderオブジェクト。gladeファイルの設定 = GtkBuilderオブジェクトと考えてOK */
	GtkWidget* window;   /* GtkWidgetオブジェクト */
	/* GTKを開始する */
	gtk_init(&argc, &argv);
	/* GtkBuilderオブジェクトの取得 */
	builder = gtk_builder_new();
	/* gladeファイルの読み込み */
	gtk_builder_add_from_file(builder, "test_program.glade", NULL);
	/* 
	 * GtkBuilderオブジェクトからGtkWidgetを取得する。
	 * GtkWidgetはGTKの様々なオブジェクトとして使われる。
	 * 今回、ウインドウやウインドウの上にあるオブジェクトを表示するため、
	 * ウインドウのGtkWidgetを取得する必要がある。
	 * なお、gtk_builder_get_object()で取得できるのはGObjectであるため、
	 * GtkWidgetにキャストしている。
	 */
	window = (GtkWidget*)gtk_builder_get_object(builder, "window1");
	/* ウインドウとその上にあるオブジェクトを表示する。 */
	gtk_widget_show_all(window);
	/*
	 * シグナル設定した関数を有効にする。
	 * gladeで設定したシグナルは、
	 * 1. ウインドウを閉じたときにgtk_main_quit()を実行する。
	 * 2. ボタンをクリックした時にon_button1_clicked()を実行する。
	 * である。
	 * gtk_main_quit()はもともとある関数だが、
	 * on_button1_clicked()は自分で新たに作成しなければならない。
	 */
	gtk_builder_connect_signals(builder, NULL);
	/* GTKのイベントループ */
	gtk_main();
	return 0;
}
program.c という名前にして、コンパイルします。
gcc -o program program.c `pkg-config --cflags --libs gtk+-2.0 gmodule-2.0`
pkg-configは指定されたパッケージのincludeファイルのディレクトリ指定やリンクを行ってくれます。
「program」とtest_program.gladeは同じディレクトリに置き、実行します。
実行すると、ボタン1つだけのウインドウが表示されます。ボタンを押したり、ウインドウを閉じたりすると、プログラムが終了します。