title: why variable s1 in the set function is a pointer to pointer
body: <p>i am newbie of C/C++ and going to review today and find out this topic</p>
  <p><a href="https://stackoverflow.com/questions/65344929/string-implementation-and-cant-seem-to-use-the-arrow-operator/65378372#65378372">String implementation and can&#39;t seem to use the arrow operator</a></p>
  <p>I am interested in why variable s1 in set() function is a pointer to pointer.
  and I google it . C tutorial ,w3school, examples of malloc() exmaples of structure and pointers..etc</p>
  <p><a href="https://www.tutorialspoint.com/c_standard_library/c_function_malloc.htm" rel="nofollow noreferrer">https://www.tutorialspoint.com/c_standard_library/c_function_malloc.htm</a>
  the example in the above website is doing the &quot;same&quot; thing but the variable is a pointer but not pointer to pointer</p>
  <p>could anyone tell me in detail  why s1 is a pointer to pointer but not a pointer... please .? thank you !</p>