传递二维数组以在C中的GTK中起作用

时间:2014-05-08 02:23:40

标签: c arrays gtk arguments

我尝试将二维数组作为参数传递给GTK中的函数,但没有成功。如何编辑数组中按钮的顺序?

GtkWidget *botones[4][4];

...

g_signal_connect(G_OBJECT(botones[0][0]), "clicked", G_CALLBACK(borra), botones);

...

void borra(GtkWidget *widget, gpointer info)
 {
    GtkWidget **elementos= (GtkWidget*) info;

     ...

 }

1 个答案:

答案 0 :(得分:0)

botonesGtkWidget *的4 * 4数组,当您致电g_signal_connect时,您将其转换为gpointervoid *的typedef,然后在回调函数中,你应该将gpointer强制转换为指向4 GtkWidget *数组的指针,如下所示:

GtkWidget * (*elementos)[4] = (GtkWidget *(*)[4])info;

然后您可以使用elementos[0][0]访问二维数组。