Einfach verkettete Listen
Re: Einfach verkettete Listen
Außerdem benötigst du für die Funktionen stdlib.h und string.h.
-
- Beiträge: 67
- Registriert: Mi Mär 11, 2009 6:48 pm
Re: Einfach verkettete Listen
Wie meinst du das ?Du definierst aber nicht alles in der main()?!?
Es soll doch alles in der Main sein ohne ein Main geht doch gar nichts.
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Einfach verkettete Listen
Strukturdefinitionen sowie typedefs und Funktionsdummys oder Definitionen gehören NICHT in main.Es soll doch alles in der Main sein ohne ein Main geht doch gar nichts.
In main gehören nur Varaiblen und funktionsaufrufe.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
-
- Beiträge: 67
- Registriert: Mi Mär 11, 2009 6:48 pm
Re: Einfach verkettete Listen
ich bekomme das irgendwie nicht hin könnt ihr mir vielleicht zeigen wie es aussehen soll.
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: Einfach verkettete Listen
Mal zitiert, da ist das ganze etwas übersichtlicher.
/*************** Variablen, Strukturen *****************/
struct blub
{
int a;
//alles hier drinn gehört zu blub
}; // du beschreibst(!!!) hier nur wie so ein struct auszusehen hat
int a = 0; //globale Variable
/*************** Funktionen *****************/
//Eine Funktion. Nur weil sie existiert heißt das aber noch nicht, dass sie ausgeführt wird.
void tu_nichts ()
{
//hier hast du Zugriff auf das globale a
a = 1;
return;
}
//hier fängt dein Programm an
int main ()
{
int a = 8; // eine LOKALE Variable
a = 9; //die LOKALE Variable wird geändert
struct blub EIN_blub_STRUCT; //Du machst dir eine lokale "Variable", eben in Form eines stucts (jetzt existiert ein struct dieser Art erst)
EIN_blub_STRUCT.a = a; // DU veränderst das a, was im struct ist (in diesem bestimmten einen einzigen struct) und zwar auf das lokale a
tu_nichts(); //du rufst deine Funktion auf. Jetzt wird erst das getan, was oben in der Funktion steht (a geändert)
return 0; // Fertig, das Programm wird beendet.
}
Grün sind Kommentare, WICHTIG, bitte lesen

Die Klammern hab ich dir mal rot angemalt. So Klammern sind wie Grenzen, sie teilen deinen Code in Bereiche auf.
Fangen wir bei der main-Funktion an. In diesem "Kasten" kannst du Funktionen aufrufen ("in andere Kasten wechseln") oder dir neue "Typen" (z.B. ein struct) oder nat. auch "normale Typen" (int, char, float) erstellen.
Bevor du einen neuen Typ erstellen kannst, musst du beschreiben, wie der auszusehen hat.
Das machst du sozusagen im "Hauptkasten", deiner Datei (also NICHT in irgendeiner Funktion).
Wenn du aus dem main-Kasten in einen anderen Kasten wechselst, musst du natürlich auch wieder zurück. Das macht return für dich

Dann bist du wieder im main Kasten, aus dem du (mit return) rausgehst und damit das Programm beendest.
Zu den Variablen:
Das erste "int a" im Text steht im Kasten, in dem du das struct beschreibst. Du setzt dein Struct also aus einem "int a" zusammen. D.h., jedesmal, wenn du ein struct (z.B. in main) "erstellst", dann erstellst du auch so ein a.
Das andere a ist global definiert. Also im "Hauptkasten". Du kannst aus jedem anderen Kasten der im Hauptkasten (= Quelltextdatei) ist darauf zugreifen.
Das dritte a ist im main-Kasten definiert. D.h. wenn du im main-Kasten ein a veränderst, dann veränderst du DAS a aus dem main-Kasten.
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.