Will declaring as pointer with a function that returns a pointer cause a chain of two pointers?
<p>If I declare a pointer with a function that returns a pointer, will the pointer I declared be identical to the pointer the function returns, or will it be a pointer to the pointer that the function returns?</p>

<p>Example:</p>

<pre><code>typedef struct foo{
  int n;
} foo;

// this function returns a pointer to a structure foo
foo* returnPointer(){
  foo* tmp = malloc(sizeof(foo));
  tmp-&gt;n = 1;
  return tmp;
}

// if I do this, will abc be a pointer to a foo structure (the desired effect)
// or will it be a pointer to another pointer to a foo structure?
foo* abc = returnPointer();
</code></pre>