Code:
GtkWidget c_button[4];

   for(int i=0,i<=4, i++){
        c_button[i] = gtk_button_new_with_label ("text");
Mit Gtk kenne ich mich nicht aus. Aber so wie du die Schleife durchläufst wirst du c_button mit 4 indizieren. Das ist verboten - die gültigen Indices sind 0, 1, 2, 3.

Die kanonische Form für Zählschleifen ist
Code:
for(count i = 0; i != limit; ++i)
count/limit sind natürlich nur Stellvertreter.

Wenn du C++ in der 2011er Version zur Verfügung hast gerne auch wie in
Code:
for(widget w : array) { mach_was_mit(w); }