title: Should I consider that declaring all C static functions is a good practice?
body: <p>I recently wrote a piece of C code like that:</p>
  
  <pre><code>static void func1()
  {
  
  }
  
  static void func2()
  {
  
  }
  
  
  typedef void (*func_t)(void);
  
  const func_t lookUpTable[FUNC_COUNT] =
  {
      [FUNC1] = &amp;func1,
      [FUNC2] = &amp;func2
  }
  </code></pre>
  
  <p>An other programmer worked on the same file and changed it to:</p>
  
  <pre><code>static void func1();
  static void func2();
  
  typedef void (*func_t)(void);
  
  const func_t lookUpTable[FUNC_COUNT] =
  {
      [FUNC1] = &amp;func1,
      [FUNC2] = &amp;func2
  }
  
  static void func1()
  {
  
  }
  
  static void func2()
  {
  
  }
  </code></pre>
  
  <p>Since the <em>funcN</em> functions are only called thru the lookup table, I don't actually need the declarations of those functions.</p>
  
  <p>Is it a matter of taste, or is there a coding style that is considered as a good/bad practice?</p>