title: Alignment along 4-byte boundaries
body: <p>I recently got thinking about alignment...  It's something that we don't ordinarily have to consider, but I've realized that some processors require objects to be aligned along 4-byte boundaries.  What exactly does this mean, and which specific systems have alignment requirements?</p>
  
  <p>Suppose I have an arbitrary pointer:</p>
  
  <p><code>unsigned char* ptr</code></p>
  
  <p>Now, I'm trying to retrieve a double value from a memory location:</p>
  
  <p><code>double d = **((double*)ptr);</code></p>
  
  <p>Is this going to cause problems?</p>