Segmentation fault in C and infinite loop : Consider the code below: 

    #include<stdio.h>
     int main()
     { 
         Printf("hello"); 
         main(1,2);
         return 0;
      }

On executing the code i am getting a rum time error ( Segmentation Fault) and a output : hello...infinite times

I understand that a segmentation fault occurs when the program tries to access the area of memory that it is not allowed to access. Which line of my code is accessing memory it is not allowed to access and why?  I am hoping it is `main(1,2)` 

And how come hello is printed infinite times