Hallo Brigitte,
warum redest Du immer von C Scripten ?
C ist eine Programmiersprache, deren Quelltexte (Sourcen) mit dem Compiler zu Objektdateien kompiliert werden und dann mit dem Linking/Loader (allg. auch Linker genannt) zusammen mit Laufzeitbibliotheken und anderen Bibliotheken/ Objektdateien
zu einem lauffähigen Programm (executable) gebunden (gelinkt) werden.
Das nennt man Kompilierzeit (Compiletime).
Wenn man das fertige Programm (Kompilat) dann ausführt, nennt man das Laufzeit.
Bei Scriptsprachen handelt es sich im Gegensatz dazu um Interpretersprachen, deren Quelltexte nicht kompiliert werden, sondern zur Laufzeit häppchenweise eingelesen, untersucht (interpretiert) und ausgeführt werden.
Natürlich gibt es auch zu einigen Scriptsprachen entsprechende Compiler, aber die sind dann meistens später dazu gekommen und verhalten sich in Details auch etwas anders als die Interpreter.
Jetzt aber zu Deinem Problem:
Für das Verständnis ist es hilfreich, wenn man etwas den "geschichtlichen" Hintergrund kennt.
In den ersten Versionen der C Compiler (z. K&R Zeiten) hatten die C Programmierer sehr viele Freiheiten, so wurde z. B. die Typsicherheit der Sprache sehr lasch gehandhabt.
Das ermöglichte unter Anderem auch die sogenannte Trickprogrammierung, wo man Eigenheiten des Prozessors bzw. des Compilers für diverse Tricks ausnutzte und auf diese Weise weniger Quelltext schreiben musste.
(Und auch zeigen konnte, was für ein Guru man war ;-)
Leider führte das auch zu einem Wildwuchs von schwer lesbaren Programmen,
(man konnte einen Programmierer an seinem Stil erkennen ;-)
es war oft nicht portabel und die Ursache für schwer zu findende Fehler.
Bei der Weiterentwicklung von C hat man aus diesen Gründen nicht nur neue Features eingebaut, sondern auch Mechanismen für bessere, lesbarere, stabilere und fehlerärmere Programmierung entwickelt, die dann später in einer Norm ( ANSI C ) zusammengefasst wurden.
Jede C Funktion hat eine Signatur.
Das ist der Name der Funktion, die übergebenen Parameter mit deren Datentypen und der Return Datentyp der Funktion.
Unter ANSI C müssen alle Funktionen erst mal deklariert werden (Funktionsprototyp), bevor sie verwendet werden dürfen. (Typsicherheit) Das gilt auch für main().
Die meisten modernen Compiler können ANSI C, erlauben aber auch noch die Programmierung im "alten Stil".
Vermutlich ist bei turbo c in der Standardeinstellung ANSI C nicht aktiviert und erlaubt deshalb eine nicht deklarierte Verwendung von main().
Dann solltest Du am Besten mal den entsprechenden Konfigurationsschalter in der Entwicklungsumgebung auf ANSI einstellen.
Hope that helps.
Gruss, vergisses