Don&#x27;t agree with that either.<p>IMHO, &quot;int&quot; is perfectly acceptable if you just want to use the platform&#x27;s preferred word size (and are fine with the possibility of it being only 16bit). Also, &quot;char&quot; is perfectly acceptable too if you&#x27;re dealing with ASCII. This is valid for both the signed and unsigned variants.<p>The general rule should be using the language types as long as you&#x27;re not assuming something about their size, only then use &quot;stdint.h&quot; because it makes your assumption more explicit.<p>Now, nobody uses &quot;short&quot; or &quot;long&quot; to mean &quot;something smaller or shorter than the platform&#x27;s int&quot;, so these are usually something to avoid.