title: What is the difference between memory, buffer and stack?
body: <p>While learning <strong>C</strong> programming only the <code>memory</code> is mentioned, but in practice it seems that there is more; the <code>buffer</code> and <code>stack</code> words are also used.</p>
  
  <p>What is the difference between these terms? Why are they relevant?</p>
  
  <p>Please, I need a detailed answer. Short answers can't serve. Also some resources may be helpful.</p>