Spieleplanet Community

Spieleplanet Community (https://www.spieleplanet.eu/forum.php)
-   Internet & Coding (https://www.spieleplanet.eu/forumdisplay.php?f=50)
-   -   [Tutorial] C Datenstrukturen (https://www.spieleplanet.eu/showthread.php?t=4315)

blue 16.01.07 19:33:18

[Tutorial] C Datenstrukturen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nabend,

da in drei Wochen meine Grundlagen der Informatik und Programmierung Klausur bevor steht, beschäftige ich mich gerade mit dem schwierigsten Thema daraus: Den Datenstrukturen.


Dazu kommen noch Listen, Bäume und Hashtables.
Bisher habe ich allerdings nur die Datenstrukturen zusammengefasst und niedergeschrieben.


Wer sich interessiert, der sollte einen Blick drauf werden.

Wäre für ein bischen Feedback allerdings auch sehr dankbar!

Liest es euch also mal durch! *g*

low 16.01.07 20:18:14

Ich bezweifle, dass ich Dir irgendein anderes Feedback als "Wat is???" geben könnte. :D

blue 16.01.07 21:22:40

Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von low
Ich bezweifle, dass ich Dir irgendein anderes Feedback als "Wat is???" geben könnte. :D

Muss ich wohl mal auf Zahl warten :D

Ne, aber auch für die Form würde ich gern Feedback haben.
(Rechtschreib-, Grammatik-, Form-, Strukturfehler ..)

/€1:

Edit-Funktion ist immer was gutes :D

3rd Disciple 17.01.07 13:28:14

Ich gucks mir bei Gelegenheit an. Hab in 3 Wochen selbst ne GdP-Klausur.

Lord_Pinhead 17.01.07 15:53:59

Punkt 3
Zitat:

Man kann Datenstrukturen optimieren, indem sie performant sind, oder nur wenig Speicherplatz gebrauchen.
sollte das nicht lauten
Zitat:

Man kann Datenstrukturen dahingehend optimieren, sodass sie performant sind oder nur wenig Speicher benötigen.
Speicher weil man ja Arbeitsspeicher und Festplattenspeicher meinen könnte

Bei Punkt 4, malloc() müsstest du einen Maximalwert definieren und vielleicht darauf hinweisen das Dynamische Speicherverwaltung falsch eingesetzt ein Risiko sein kann, die Rede ist von Buffer Overflows. Rein Theoretisch würde aus:

Zitat:

struct Telefon Eintrag;
ein
Zitat:

struct Telefon Eintrag[20];
Es ist immernoch Dynamisch und ein Buffer Overflow dürfte kein Problem mehr darstellen (Quelle: C Lernen von O´Reilly)

Weiter bin ich nicht gekommen, Kollege wartet. Schreib nachher noch was.

blue 17.01.07 16:00:35

Zitat:

struct Telefon Eintrag[20];
Ist immer noch statisch. Das Array kann nachtragend mit realloc() vergrößert oder verkleinert werden.

Aber dennoch danke schon mal ;)
Das Script ist eh noch lange nicht fertig, aber ist auch nur eine Frage der Zeit.

C/C++ - Von den Grundlagen zur professionellen Programmierung von einem Doktor Prof. Kaiser. Meinem Dozenten ;)

Lord_Pinhead 17.01.07 18:00:49

Hm, stimmt, das Array wird statisch angelegt. realloc() kann immernoch ausgetrickst werden. Bleibt nur das man das Feld mit einer If-Abfrage prüft:

Ungetestet
Code:

if ((String = (char *) malloc(StringSize)) == NULL)
{
  printf("\nSpeicherfehler.");
  exit(1)
}

Wenn nicht genug Speicher bereit gestellt werden kann, gibt malloc eigentlich immer Null zurück. Also müsste es so funzen.

Übersetzt du es dann in Latex oder lässt du es als in Word so

blue 17.01.07 18:02:53

Zitat:

Zitat von Lord_Pinhead
Hm, stimmt, das Array wird statisch angelegt. realloc() kann immernoch ausgetrickst werden. Bleibt nur das man das Feld mit einer If-Abfrage prüft:

Ungetestet
Code:

if ((String = (char *) malloc(StringSize)) == NULL)
{
  printf("\nSpeicherfehler.");
  exit(1)
}

Wenn nicht genug Speicher bereit gestellt werden kann, gibt malloc eigentlich immer Null zurück. Also müsste es so funzen.

Stimme dir voll zu! Allerdings gehts mir in dem Script nicht darum zu zeigen wie man ordentlich Programmiert, sondern wie man mit Strukturen, Listen .. umgeht. Von daher lege ich da keinen Wert drauf ;)

Lord_Pinhead 17.01.07 21:21:23

Naja, aber man sollte vielleicht darauf hinweisen das in vielen Bereichen Tücken stecken ;)

thegreathawk 18.01.07 01:55:48

Habs bis jetzt noch nicht gelesen, aber der Thread kommt mir ganz recht :D

Ich mach ein Fernstudium zum PC-Betreuer. Da kommt dieses Thema garantiert noch vor. Gut zu wissen, das es ein paar "Cracks" unter Spieleplanetariern gibt :D

Hab mich schon schwer getan, mit dem Stellenwertsystem und dem Segmentierten Speicher Adressen...


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:15:30 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Die Betreiber haften nicht für die Inhalte der User. Die Beiträge spiegeln ausschließlich persönliche Meinungen wider, und nicht die der Seitenbetreiber.