Verkettete Listen In C#
#1
geschrieben 25. Juni 2009 - 08:13
Meines Erachtens sind die Verkettete Listen in C sehr heftig besonders die Pointers. Ich hoffe dass es in der Sprache C# nicht so ist. Ich weiß nicht ob die Schwierigkeiten von meiem Dozenten vorkommen aber ich habe wirklich angst. Ich war in diesem Jahr ganze Nacht mit der Übungen dran. Sclußendlich habe ich von der übungen gute Punkte gemacht aber für eine Aufgabe habe ich mindestens 5 Stunden verbracht.
Es war für mich unschaffbar .Na ja gut dass ich trotz aller Schwierigkeiten die Klausur bestanden habe.
Jede sagt, dass die Sprache C sehr einfach ist aber meienr Meinung nacht "nicht". Glaubt ihr dass es wirklich von der Dozenten vorkommt oder ist sie eher schwierig?
Wie gesagt werde ich ab Oktober die Programmiersprache C#. Wie ist der Begriff des Pointers in dieser Sprache?
Bitte ein Antwort, falls jemand eine Idee dafür hat.
Anzeige
#2
geschrieben 25. Juni 2009 - 08:48
Wenn du Pointer in C nicht verstehst, dann wirst du auch in c#, oder delphi oder sonstwo Probleme haben.
Am besten ist das Konzept theoretisch zu behandeln und zu lösen und anschliessend in irgendeiner PRogrammiersprache umzusetzten (welche ist schlussendlich egal).
you are running an OS
you use a Browser
I know so much about you...
#3
geschrieben 25. Juni 2009 - 08:52
Zitat
Alles sind Referenzen. Objekte, die du bspw an Methoden übergibst, werden immer als Referenzen übergeben.
Direkte Pointer-Arithmetik ist in C# zwar auch möglich, jedoch nur über unsafe-Code.
#4
geschrieben 25. Juni 2009 - 12:02
Zitat (Witi: 25.06.2009, 09:52)
So wie du es sagst stimmt das nicht. C# unterscheidet ja zwischen Wertetypen und Referenztypen. Je nachdem unterscheidet sich schon das Verhalten. Streng genommen werden in C# alle Parameter einer Methode kopiert, und seis bei Referenztypen die Referenz die kopiert wird. Aber des nur als kleine technische Richtigstellung, tut nicht viel zum Thema bei.
Was aber noch erwähnt werden sollte ist, dass sich Referenzen in C# praktisch wie Pointer verhalten. Man schlägt sich zwar nicht direkt mit den Adressen der Objekte rum, ansonste gleichen die sich aber sehr. Deshalb trifft das was tavoc gesagt hat ganz gut zu. Wenn du Pointer in C nicht verstehst, wirst du auch Verständnisschwierigkeiten in C# bekommen, auch wenn man dort nicht direkt mit Pointer in Berührung kommt.
#5
geschrieben 25. Juni 2009 - 12:21
ICh sags mal so. C ist vom Code her viel näher am Maschinencode als die hohe Programmiersprache C#. In C# kannst du also vieles abstrahieren und musst nicht mehr so genau wissen, wie dein Liste abgelegt wird. Du verwendest einfach die zur verfügung gestellten Objekte und Libraries. Also von daher kann ich dir ganz klar mut machen und sagen, dass in C# viel einfach deine Programme schreiben kannst. Jedoch kannst du dann in dieser höheren Programmiersprache auch viele neue Konzepte benutzen, die anfangs vielleicht etwas schwieriger zu verstehen sind. Aber ob du die auch einsetzt bleibt ja grösstenteils dir überlassen... von daher -> freu dich auf den Oktober.
Dieser Beitrag wurde von Lord_eAgle bearbeitet: 25. Juni 2009 - 12:32
#6
geschrieben 25. Juni 2009 - 12:53
Zitat
Klar, du hast vollkommend recht. Was ich zudem noch vergessen habe zu erwähnen ist, dass unter C# für Referenzen das Schlüsselwort ref existiert.
#7
geschrieben 25. Juni 2009 - 15:24
danke für deine Ermutung. Ich habe den Begriff des Pointers in C sehr gut gelernt aber was ich meine ist, dass es für mich zu schwer war. Wie gesagt hab ich sehr viel Zeit verbracht. Meistens bin ich bis 10 oder 11 Uhr im Labor in der schule geblieben, da es immer die Studenten von höherem Semester gab
Ich hoffe in Oktober wird es mir sehr einfach gehen.
Dieser Beitrag wurde von tolly bearbeitet: 25. Juni 2009 - 15:25
#8
geschrieben 25. Juni 2009 - 16:33
Ich kann dir nur sagen das spezifisch dieses Thema nicht mehr relevant sein wird. Da man es abstrahiert und nicht immer wissen muss ob man jetzt meinem Pointer oder einem Value arbeitet.
Ausserdem kann ich dir sagen, dass ich C gelernt habe, nachdem ich bereits über 8 Jahre Erfahrungen mit Programmiersprachen wie PHP, ActionScript, JavaScript hatte. Und auch mir war die Pointer Geschichte nicht sofort logisch und verständlich. Es ist also in meinen Augen ein komplizierteres Thema, speziell für die Anfänger.
Dieser Beitrag wurde von Lord_eAgle bearbeitet: 25. Juni 2009 - 16:34
#9
geschrieben 26. Juni 2009 - 08:18
Ich kann nicht sagen dass ich sehr viele Erfahrungen mit Programmierung habe. Ich habe nur in der Schule gelernt und ich habe noch Privat Kurs gemacht und zwar Grunlagen der C Programmierung und Aufbau Kurs. Aber ich habe mich selbst traniert indem ich sehr viele Übungen zu Hause selber löse.Besonders für Pointer, Pointer auf Pointer und Verkettete Listen. Was mir noch nicht ganz klar ist, der Stern und Inhalt Operator. Mir ist es kompliziert wann ich eine Inhaltoperator bei Pointer auf Pointer brauche, und wann ich einen Stern brauche?
Ich habe mir versprochen in dieser Ferien die Geschichte des Pointers gut zu verstehen und C# zu lernen.
Ich werde ein Expert bis Oktober (Hoffentlich )
Ausserdem kann ich dir sagen, dass ich C gelernt habe, nachdem ich bereits über 8 Jahre Erfahrungen mit Programmiersprachen wie PHP, ActionScript, JavaScript hatte. Und auch mir war die Pointer Geschichte nicht sofort logisch und verständlich. Es ist also in meinen Augen ein komplizierteres Thema, speziell für die Anfänger.
[/quote]
#10
geschrieben 27. Juni 2009 - 13:49
Zitat
Das ist dasselbe.
#11
geschrieben 29. Juni 2009 - 07:44
#12
geschrieben 04. Juli 2009 - 15:34
int a[255], i; for (i=0; i<255; i++){ a[i] = i; }
Was ist aber hiermit?:
int a[255], i; for (i=0; i<255; i++){ i[a] = i; }
MfG Hanussen
#13
geschrieben 04. Juli 2009 - 15:48
Zitat (hanussen: 04.07.2009, 16:34)
Was soll damit sein? C lässt so nen Mist zu, aber wenn man weiß was der Indexoperator überhaupt macht, dann ist das leicht verständlich das es geht. Ob da nun steht *(a+i) = i oder *(i+a) = i ist für die Funktion ja völlig egal.
#14
geschrieben 04. Juli 2009 - 19:07
MfG Hanussen
#15
geschrieben 06. Juli 2009 - 08:05
Zitat (hanussen: 04.07.2009, 20:07)
MfG Hanussen
Hallo Hanussen,
wie du gesagt, ist es einfach. Bei mir ist das Problem nur der Inhaltsoperator und Adresseoperator des Pointer auf Pointers. Wenn du dafür auch so ein einfaches Beispiel hast, bitte schreib damit ich besser verstehe.