title: #include in .h or .c / .cpp?
body: <p>When coding in either C or C++, where should I have the <code>#include</code>'s?</p>
  
  <p>callback.h:</p>
  
  <pre><code>#ifndef _CALLBACK_H_
  #define _CALLBACK_H_
  
  #include &lt;sndfile.h&gt;
  #include "main.h"
  
  void on_button_apply_clicked(GtkButton* button, struct user_data_s* data);
  void on_button_cancel_clicked(GtkButton* button, struct user_data_s* data);
  
  #endif
  </code></pre>
  
  <p>callback.c:</p>
  
  <pre><code>#include &lt;stdlib.h&gt;
  #include &lt;math.h&gt;
  
  #include "config.h"
  
  #include "callback.h"
  #include "play.h"
  
  void on_button_apply_clicked(GtkButton* button, struct user_data_s* data) {
    gint page;
    page = gtk_notebook_get_current_page(GTK_NOTEBOOK(data-&gt;notebook));
  
    ...
  </code></pre>
  
  <p>Should all includes be in either the .h or .c / .cpp, or both like I have done here?</p>