title: Is 'long unsigned' as valid as 'unsigned long' in C?
body: <p>A <a href="https://stackoverflow.com/questions/17287680/literal-types-0x1ull-vs-0x1llu">question</a> was recently asked about whether <code>ULL</code> or <code>LLU</code> was valid for specifying unsigned long long constants in C. I know they're both valid but I was thinking that <code>ULL</code> would be preferable since it matched the type <code>unsigned long long</code>.</p>
  
  <p>However, I'm not so certain now. The <code>gcc</code> compiler allowed the following without complaint:</p>
  
  <pre><code>int main(void) {
      unsigned int a = 1;
      int unsigned b = 2;
      return 0;
  }
  </code></pre>
  
  <p>So my question is: are <code>int unsigned</code>, and other variations like <code>long long unsigned</code>, valid types according to the standard?</p>