title: Why pointers are faster and more efficient
body: <p>I read this in a <a href="http://www.amazon.in/Understanding-Using-Pointers-Richard-Reese/dp/1449344186" rel="noreferrer">C book</a> :</p>
  
  <blockquote>
    <p>Pointers have several uses, including: • Creating fast and efficient
    code • Providing a convenient means for addressing many types of
    problems • Supporting dynamic memory allocation • Making expressions
    compact and succinct • Providing the ability to pass data structures
    by pointer without incurring a large overhead • Protecting data passed
    as a parameter to a function. <strong>Faster and more efficient code can be
    written because pointers are closer to the hardware. That is, the
    compiler can more easily translate the operation into machine code.</strong>
    There is not as much overhead associated with pointers as might be
    present with other operators.</p>
  </blockquote>
  
  <p>Q. How is 'compiler translating operations into machine code easily' related to faster working of code ? It could be easier for the compiler to convert, but how does it affect the speed of created executable ?</p>
  
  <p>Q. Since, everything gets converted into the machine instructions at the end, how is using pointers gonna give some special speedup if I rather pass say normal variables ? </p>
  
  <p>Could someone give some insight on how using pointers could make program faster ?</p>
  
  <p><strong>P.S.</strong> I understand that instead of passing a massive 'object', passing a pointer would be better in terms of resources being copied, is there anything more to it because of which pointers are preferred ?</p>