If you want you can ignore the gtk part and look at the way I passed variables through functions and all. Thanks
Code:
#include <gtk/gtk.h>
#include <time.h>
#include <stdlib.h>

GtkWidget *window=NULL,*button,*vbox1,*vbox2,*vbox3,*hbox;
Gtk Widget *hbox2,*label;
static int r,x;

void testnum(GtkWidget *fbutton2,gpointer fint2)
{
        if((int)fint2==r)
                g_print("You got it!\n");
        else{
                g_print("You didn't get it!\n");
        }
}

void button_maker(GtkWidget *fbutton,GtkWidget *fbox,gpointer data,gpointer bnum
){
        fbutton=gtk_button_new_with_label(data);
        gtk_box_pack_start(GTK_BOX(fbox),fbutton,FALSE,FALSE,0);
        gtk_signal_connect(GTK_OBJECT(fbutton),"clicked",
                     GTK_SIGNAL_FUNC(testnum),bnum);
        gtk_widget_show(fbutton);
}

void randomizer(void){
        char num[2]={0};
        srand((unsigned)time(NULL));
        r=rand();
        r%=9;
        r+=1;
        num[0]=(char)(r+48);
        num[2]='\0';
        label=gtk_label_new(num);
        hbox2=gtk_hbox_new(FALSE,0);
   gtk_box_pack_start(GTK_BOX(hbox2),label,TRUE,FALSE,2);
        gtk_widget_show(label);
}
int main(int argc,char *argv[]){
        gtk_init(&argc,&argv);
        window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_title(GTK_WINDOW(window),"Randomizer!");
        gtk_container_set_border_width(GTK_CONTAINER(window),30);
        gtk_signal_connect(GTK_OBJECT(window),"destroy",
                        GTK_SIGNAL_FUNC(gtk_exit),NULL);
        hbox=gtk_hbox_new(FALSE,0);
 vbox1=gtk_vbox_new(FALSE,0);
        vbox2=gtk_vbox_new(FALSE,0);
        vbox3=gtk_vbox_new(FALSE,0);
        randomizer();
        for(x=0;x<3;x++)
                button_maker(button,vbox1,(char *)"     X     ",(gpointer)x);
        for(;x<6;x++)
                button_maker(button,vbox2,(char *)"     X     ",(gpointer)x);
        for(;x<9;x++)
                button_maker(button,vbox3,(char *)"     X     ",(gpointer)x);
        gtk_box_pack_start(GTK_BOX(hbox),vbox1,TRUE,FALSE,0);
        gtk_box_pack_start(GTK_BOX(hbox),vbox2,TRUE,FALSE,0);
        gtk_box_pack_start(GTK_BOX(hbox),vbox3,TRUE,FALSE,0);
        gtk_box_pack_start(GTK_BOX(hbox),hbox2,TRUE,FALSE,0);
        gtk_container_add(GTK_CONTAINER(window),hbox);
        gtk_widget_show(vbox1);
        gtk_widget_show(vbox2);
        gtk_widget_show(vbox3);
        gtk_widget_show(hbox2);
        gtk_widget_show(hbox);
        gtk_widget_show(window);
        gtk_main();
        return 0;
}