title: Redundant naming in C/C++ typedefs/structs
body: <pre><code>#include &lt;stdio.h&gt;
  #include &lt;string.h&gt;
  
  const int NAMELEN=30;
  
  const int MAXCLASSSIZE=10;
  
  typedef struct StudentRec {
      char lastname[NAMELEN];
      char firstname[NAMELEN];
      long int ID;
      int finalmark;
  }Student;
  </code></pre>
  
  <p>I'm new to coding..and I have a question about why there is Student; after the bracket.. is it a format that we have to follow.</p>