title: When to know if a function is a callback?
body: <p>I took the code <a href="https://developer.gnome.org/gtk-tutorial/2.24/c39.html" rel="nofollow">Hello World In GTK</a> from this link. There it uses a number of callback functions but for each callback function say </p>
  
  <pre><code>static void hello( GtkWidget *widget,gpointer data )
  </code></pre>
  
  <p>When It uses it as a callback it does</p>
  
  <pre><code>g_signal_connect (button, "clicked",G_CALLBACK (hello), NULL);
  </code></pre>
  
  <p>But here, it does not pass any arguments to hello() function. If I try to do this in a normal function, i.e.</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  int hello(int a) {
     printf("hello");
  }
  
  void main() {
     int j=10;
     hello;
  }
  </code></pre>
  
  <p>it does not give me any error and no output too. </p>
  
  <p>Q1. Howcome callback functions ignore the arguments?</p>
  
  <p>Q2. How to make a function callback? i.e. in my second <code>hello</code> example, will the function hello be callback?</p>