title: Understanding functions and pointers in C
body: <p>This is a very simple question but what does the following function prototype mean?</p>
  
  <p>int square( int y, size_t* x )</p>
  
  <p>what dose the size_t*  mean?  I know size_t is a data type (int >=0).  But how do I read the * attached to it?  Is it a pointer to the memory location for x?  In general I'm having trouble with this stuff, and if anybody could provide a handy reference, I'd appreciate it.</p>
  
  <hr>
  
  <p>Thanks everybody. I understand what a pointer is, but I guess I have a hard hard time understanding the relationship between pointers and functions. When I see a function prototype defined as <code>int sq(int x, int y)</code>, then it is perfectly clear to me what is going on. However, when I see something like <code>int sq( int x, int* y)</code>, then I cannot--for the life of me--understand what the second parameter really means. On some level I understand it means "passing a pointer" but I don't understand things well enough to manipulate it on my own.</p>