Vom Prinzip her ist die Mainfunktion von deinem Programm ja nichts anderes als eine Funktion. Wenn du dein Programm nun startest dann wird genau diese Funktion von deinem Betriebssystem aufgerufen. Dein Programm macht was es soll und liefert am Ende einen Wert zurück. Das könnten jetzt zum Beispiel wichtige Daten für andere Programme sein. Damit könntest du dann deine Programme verschachteln und so Werte hin und her reichen. Im Normalfall werden diese Rückgabewerte aber dafür benutzt um mitzuteilen, ob dein Programm richtig abgelaufen ist, oder ob irgendwelche Fehler aufgetreten sind. Wenn alles gut ist, gibt man normalerweise 0 zurück. Wenn irgendein Fehler aufgetreten ist, gibt man irgendeinen anderen Wert zurück. Je nach Wert kann man dann verschiedene Fehlertypen festlegen. Zum Beispiel könntest du sagen, wenn dein Programm zu wenig Arbeitsspeicher bekommt und deswegen abbrechen muss, lieferst du die Zahl 13 zurück. Wenn der Benutzer dein Programm aus der Konsole startet und am Ende die 13 zurück gegeben wird, dann kann er daraus schließen, was das Problem war. Das ist jetzt alles nur grob und stark vereinfacht erklärt. Im Prinzip musst du davon auch keine Ahnung haben.
Mein Tipp, lern einfach weiter und dann kommt auch dieses Wissen vermutlich mit der Zeit.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“