title: fixed length data types in C/C++
body: <p>I've heard that size of data types such as <code>int</code> may vary across platforms.</p>
  
  <p>My first question is: can someone bring some example, what goes wrong, when program
  assumes an <code>int</code> is 4 bytes, but on a different platform it is say 2 bytes?</p>
  
  <p>Another question I had is related. I know people solve this issue with some <code>typedefs</code>,
  like you have variables like <code>u8</code>,<code>u16</code>,<code>u32</code> - which are guaranteed to be 8bits, 16bits, 32bits, regardless of the platform -- my question is, how is this achieved usually? (I am not referring to types from <code>stdint</code> library - I am curious manually, how can one enforce that some type is always say 32 bits regardless of the platform??)</p>