Why do I see redefinition error in C? <p>Following is my code, I am trying to run it in Visual Studio.</p> <pre><code>#include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main() { //int i; //char j = 'g',k= 'c'; struct book { char name[10]; char author[10]; int callno; }; struct book b1 = {"Basic", "there", 550}; display ("Basic", "Basic", 550); printf("Press any key to coninute.."); getch(); return 0; } void display(char *s, char *t, int n) { printf("%s %s %d \n", s, t, n); } </code></pre> <p>It gives an error of redefinition on the line where opening brace of function is typed.</p>