Crear una matriz de botones gtk en c

Necesito crear una variedad de botones en C. No estoy seguro de lo que me falta, por favor, ayúdenme. Aquí está mi matriz:

GtkWidget *button[5];
int i;
for ( i =1; i<5; i++)
        button[i] = gtk_button_new();

Luego creo el resto de los botones ... estoy usandobutton [i] y al final hago estoi++; Probablemente esta no sea la mejor manera, pero no estoy seguro cuando creo la matriz, ¿cómo paso el botón 1, el botón 2, etc. en el resto de mis declaraciones? Por favor, cualquier ayuda apreciada. PD. Soy nuevo en C, no seas duro conmigo, ty :)

 /* Creates a new button with the label "Button 1". */
button[i] = gtk_button_new_with_label ("Button 1");

/* Now when the button is clicked, we call the "callback" function
 * with a pointer to "button 1" as its argiument */
g_signal_connect (button[i], "clicked",
                  G_CALLBACK (callback), "Run button 1");

/* Instead of gtk_container_add, we pack this button into the invisible
 * box, which has been packed into the window. */
gtk_box_pack_start (GTK_BOX (box1), button[i], TRUE, TRUE, 0);

/* Always remember this step, this tells GTK that our preparation for
 * this button is complete, and it can now be displayed. */
gtk_widget_show (button[i]);
i++;

Respuestas a la pregunta(1)

Su respuesta a la pregunta