title: Where can I find a list of C (and/or C++) keywords covering K&R1/2, C89-C1X and their origins?
body: <p>I've been exposed to numerous coding guidelines, every one of them giving guidelines for naming 'things'. One specific C89 naming rule triggered this question: It was explicitly forbidden to use the name 'new' for a variable, because in C++ this is a keyword.</p>
  
  <p>This started me thinking about the next standards, C99 is well documented, but C11 is relatively new (2014). And the Standards committee has several extensions still in the works.</p>
  
  <p>Therefore I'm wondering if someone can provide a list with keywords <strong>and their origins</strong>, in order to make a set of naming rules, including the reasons why several names are to be avoided.</p>
  
  <p>And although strictly spoken <code>complex</code> is not a keyword, similar definitions would best be included. And C++ information is also appreciated.</p>