title: How do I update Labels in GTK+-3.0 in C
body: <p>I can't seem to be able to use the function </p>
  
  <pre><code>gtk_label_set_text();
  </code></pre>
  
  <p>this is what I write:</p>
  
  <pre><code>#include &lt;gtk/gtk.h&gt;
  
  int main(int argc, char *argv[] )
  {
    gtk_init(&amp;argc, &amp;argv);
  
    GtkWidget *label;
  
    //label
    label = gtk_label_new("This is my label");
  
    gtk_label_set_text(label, "I cannot use this func");
  
    if(GTK_IS_LABEL(label)){
      g_print("IT IS A LABEL\n");
    }else if (GTK_IS_WIDGET(label)){
      g_print("well at least its a Widget\n");
    }else {
      g_print("why is it not a label?! T_T\n");
    }
  
    gtk_main();
    return 0;
  }
  </code></pre>
  
  <p>it says </p>
  
  <pre><code>passing argument 1 of ‘gtk_label_set_text’ from incompatible pointer type
  expected ‘struct GtkLabel *’ but argument is of type ‘struct GtkWidget *’
  </code></pre>
  
  <p>when I try to compile it. OK. I change it to</p>
  
  <pre><code>GtkLabel *label;
  </code></pre>
  
  <p>but then it doesn't let me use gtk_label_new(); because the compiler complains with</p>
  
  <pre><code>assignment from incompatible pointer type
  </code></pre>
  
  <p>then I give up and comment //gtk_label_set_text   to ask the program   GTK_IS_LABEL(label); and it prints out IT IS A LABEL.
  I give up for real now and ask you, dear community of Stack Overflow.</p>