(ich hoffe, ihr seid mir nicht böse, wenn ich persönliche Daten wie meinen Namen und genauen Alter zunächst für mich behalte)
Ich studiere Wirtschaftsinformatik im 1. Semester, bin zwischen 20 und 30 Jahre alt und C ist meine erste Programmiersprache. Mein Studiengang gefällt mir sehr. Nach unseren C-Vorlesungen bekommen wir von unserem Professor C-Aufgaben, die wir selbstständig lösen sollen (als Prüfungsvorbereitung) - leider bekommen wir von ihm keine Lösungen dazu. Ich bin bis jetzt mit allen Aufgaben (meistens mathematische Aufgaben) alleine klar gekommen und alle Themen verstanden (Datentypen und benutzerdefinierte Datentypen, Variablen, Funktionen, Schleifen, if und switch-Anweisungen, Arrays und Zeiger, Struct). Die Situation hat sich leider mit den Listen und dem Stack verändert. Das ist für mich noch sehr abstrakt und ich komme damit nicht klar. Zum Beispiel versage ich im Moment noch bei der einfachen Aufgabe: Daten auf den Stack legen, Daten vom Stack entfernen und Stack Elemente anzeigen. Aufgaben mit den Listen und dem Stack werden aber mit Sicherheit in der Prüfung sein und ich muss unbedingt verstehen wie das Ganze genau funktioniert.
Schwierigkeiten habe ich noch mit Rekursionen, wenn es darum geht selber eine bestimmte rekursive Funktion zu definieren, um damit eine mathematische Aufgabe bzw. Algorithmen zu lösen. Rekursive Aufgaben lesen, verstehen und ein Ergebnis auf einem Zettel ausrechnen, kann ich mittlerweile ohne große Probleme (zumindest bei den Aufgaben, die wir dazu bis jetzt behandelt haben).
Was Zeiger angeht, so bin ich damit im Umgang noch unsicher und versuche sie zu meiden, wenn es geht. Das liegt aber daran, dass ich noch zu wenig Programmiererfahrung habe.
Um ein neues (schwieriges) Thema zu verstehen, brauche ich oft relativ viele Beispiele. Zum Beispiel wie das hier zu den Zeigern: http://www.proggen.org/doku.php?id=c:pointer&s[]=zeiger
Diese kleine Aufgaben haben mir beim Verständnis sehr geholfen! (ich glaube, dass die Lösung 5.2 einen Fehler hat. *pa hat nicht die Adresse 3350 als Wert, sondern 10. Weil wir den Dereferenzierungsoperator verwenden und somit auf den Inhalt der Adresse 3350 zugreifen und dort sich der Wert 10 befindet:
Code: Alles auswählen
int i=2, a[]={10, 20, 30, 40}, *pa;
pa=a; //a[0] hat die Adresse 3350
Habe mir gestern wirklich mehrmals diese beiden Tutorials durchgelesen: http://www.proggen.org/doku.php?id=c:tutorial:stack und http://www.proggen.org/doku.php?id=stru ... &s[]=stack aber nicht wirklich verstanden wie, was und warum das gemacht wird. Die Tutorials sind aber noch im Aufbau – es wäre super, wenn die Theorie anhand von mehreren kleinen Beispielen erklärt werden kann. Ich habe gestern einige Sachen falsch verstanden oder nicht verstanden, die mittlerweile geklärt sind. Deshalb werde ich gleich wieder mein Glück versuchen .
Danke für Eure Hilfe und Eure Zeit und natürlich für die ganzen Tutorials.