title: What does &handler mean in the code?
body: <pre><code>#include &lt;stdlib.h&gt;
  #include &lt;stdio.h&gt;
  #include &lt;unistd.h&gt;
  #include &lt;signal.h&gt;
  #include &lt;string.h&gt;
  
  void handler (int sig)
  {
     printf ("Got signal %d\n", sig);
  }
  
  int main (int argc, char *argv[])
  {
    struct sigaction act;
  
    memset (&amp;act, '\0', sizeof(act));
  
    // Use the sa_sigaction field because
    // the handler has two additional parameters
    act.sa_handler = &amp;handler;
  
    if (sigaction(SIGHUP, &amp;act, NULL) &lt; 0) {
       perror ("sigaction");
       return EXIT_FAILURE;
    }
  
    if (sigaction(SIGTERM, &amp;act, NULL) &lt; 0) {
       perror ("sigaction");
       return EXIT_FAILURE;
    }
  
    while (1) sleep (10);
  
    return EXIT_SUCCESS;
  } 
  </code></pre>
  
  <p>I am a bit confused about "&amp;handler" . What does it mean here? I am new to signal and really hope someone can give me a hint on how it works. Any help would be appreciated. Thx</p>