Frage von Monsimohner, 61

Warum heißt es "int main "?

Hi, ich bin nun endlich dazu gekommen c++ zu lernen... jedoch hatte ich nur minimale vorkennstnisse von Programmiersprachen.

Jedenfalls habe ich gelernt das ein int eine Zahl abspeichert... aber warum heißt es dann "int main(){}" , denn dort werden doch nur zahlen gespeichert :D kannst du es bitte für "anfänger" erklären ,weil njaaa weißt schon warum ;)

PS: weißt du wie man eine Art Interface erstellt... wenn ja, ist es schwierig/kompliziert wenn nicht SCHEIB ES MIR xD

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von priesterlein, 28

Die main-Funktion ist der Anfang des von dir erstellten Programmlaufs und sie muss nicht einmal main heißen. Der Typbezeichner davor, in dem Fall int, gibt an, was die Funktion, in dem Fall auch das ganze Programm, nach außen als Rückgabewert gibt. Diesen Rückgabewert kann der Aufrufer des Programms benutzen, falls er sich denn überhaupt dafür interessiert.

Eine Variable speichert Daten, aber Funktionen geben Daten zurück, wenn sie nicht den Typ void haben, was dafür steht, dass sie nichts dem Aufrufer hinterlassen, es sei denn, dass sie etwas in Speicher schreiben, die der Aufrufer lesen kann.

Kommentar von maximilianus7 ,

FALSCH! in einem C++ (wie auch in C) programm muss es genau eine funktion main geben. diese dient als einsprungspunkt.

Kommentar von priesterlein ,

Falsch, das ist nur der Standardname, den man auch anders wählen kann. Man kann angeben, welche Funktion der Einsprungpunkt von außen, der Startpunkt deines Programms, ist.

Kommentar von ceevee ,

Wobei es besonders für Anfänger unklug wäre, den Einsprungpunkt zu ändern. Wenn der Fragesteller gerade C++ lernt, dann sollte er sich int main() bzw. int main(int argc, char** argv) angewöhnen.

Kommentar von priesterlein ,

Ja, in den allermeisten Fällen gibt es keinen Grund, den Namen selber anders zu wählen.

Antwort
von ceevee, 41

Man gibt bei einem Programm 0 zurück, wenn alles gut ist und eine andere Zahl (als Fehlercode), wenn irgendwas schiefgelaufen ist. Deswegen gibt die main-Funktion einen int zurück. Wie man ein Interface in C++ schreibt, kann man auch wunderbar ergoogeln... aber ich glaub auch, dass du noch weit davon entfernt bist, Interfaces zu nutzen.

Antwort
von Sparkobbable, 40

Wenn du nicht mal weißt was int Main heißt, bist du noch meilenweit davon entfernt ein Interface zu programmieren. Kauf dir am besten ein c++ Buch. Da ist alles super drinn erklärt. Und für nen Interface würde ich eher visual Basic nehmen

Kommentar von Monsimohner ,

ein Buch ist schon gekauft, nur noch nicht angekommen :D habe mir vorerst einige Youtube Videos angeguckt

Kommentar von Sparkobbable ,

Im Grunde Leitest du mit int Main nur den Hauptteil des Programmes ein, in dem die Berechnungen, Eingaben etc stattfinden

Kommentar von maximilianus7 ,

main wird klein geschrieben in C/C++

Kommentar von Sparkobbable ,

Ja sorry. Schreibe am Handy. Da achte ich nicht so drauf

Antwort
von Daddelpaalme, 45

Das ist eine funktion, die einen int-Wert zurückgibt.

Kommentar von Monsimohner ,

also gibt diese funktion nur zahlen zurück oder was :D

Kommentar von Daddelpaalme ,

ja. falls die funktion nichts zurückgeben soll, kannst du auch auch "void main()" schreiben. Dann sparst du dir das "return" in der Funktion.

Kommentar von ceevee ,

void main() kannst du nur in C schreiben, in C++ gibt das einen Compilerfehler - die main-Funktion muss einen int zurückgeben.

Kommentar von maximilianus7 ,

FALSCH! void main geht auch in C++

Kommentar von priesterlein ,

Falsch, man maximilianus7, was stimmt mit dir nicht? Je nach verwendetem Compiler geht es oder es geht nicht. Dass du echt davon ausgehst, dass andere nur Quatsch schreiben, weil es nicht gleich im ersten Satz deiner gelernten Dinge vorkommt, ist sehr merkwürdig.

Programmiersprachen sind nicht so starr wie man es anfangs vielleicht denken könnte. Bitte sei offen und denke immer daran, dass du fast alles in einer Programmiersprache auch selber ändern und anpassen kannst.

Wenn jemand etwas schreibt, was du nicht so kennst, dann lehne es nicht immer gleich ab sondern überlege, ob das tatsächlich stimmen könnte und wie es dich im Lernen weiterbringen kann.

Programmierer sollten mindestens so flexibel wie ihre verwendeten Sprachen sein, ansonsten wäre eine andere Tätigkeit vielleicht besser geeignet, wenn man sich dem nutzbaren Wissen verschließt.

Bitte füttere den Frager nicht mit Wörtern wie deinem inflationär gebrauchten "Falsch" und Starrheit.

Kommentar von ceevee ,

Ich hab das gestern mit g++ getestet und für "void main()" einen Compilerfehler bekommen. Aber darüber muss man nicht streiten, lass uns doch einfach mal in den C++-Standard reingucken, Seite 62 bzw. Abschnitt 3.6.1.2

An implementation shall not predefine the main function. This function shall not be overloaded. It shall have
a declared return type of type int
, but otherwise its type is implementation-defined. 

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf

Keine passende Antwort gefunden?

Fragen Sie die Community