Einfach verkettete Listen

Schnelle objektorientierte, kompilierende Programmiersprache.
nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Einfach verkettete Listen

Beitrag von nufan » So Jun 28, 2009 3:06 pm

Außerdem benötigst du für die Funktionen stdlib.h und string.h.

schlafmütze
Beiträge: 67
Registriert: Mi Mär 11, 2009 6:48 pm

Re: Einfach verkettete Listen

Beitrag von schlafmütze » So Jun 28, 2009 3:39 pm

Du definierst aber nicht alles in der main()?!?
Wie meinst du das ?
Es soll doch alles in der Main sein ohne ein Main geht doch gar nichts.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Einfach verkettete Listen

Beitrag von cloidnerux » So Jun 28, 2009 5:20 pm

Es soll doch alles in der Main sein ohne ein Main geht doch gar nichts.
Strukturdefinitionen sowie typedefs und Funktionsdummys oder Definitionen gehören NICHT in main.
In main gehören nur Varaiblen und funktionsaufrufe.
Redundanz macht wiederholen unnötig.
quod erat expectandum

schlafmütze
Beiträge: 67
Registriert: Mi Mär 11, 2009 6:48 pm

Re: Einfach verkettete Listen

Beitrag von schlafmütze » So Jun 28, 2009 9:46 pm

ich bekomme das irgendwie nicht hin könnt ihr mir vielleicht zeigen wie es aussehen soll.

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Einfach verkettete Listen

Beitrag von Dirty Oerti » Mo Jun 29, 2009 12:05 pm


/*************** 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.
}
Mal zitiert, da ist das ganze etwas übersichtlicher.
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.

Antworten