WinFuture-Forum.de: Verkettete Listen In C# - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Verkettete Listen In C#


#1 Mitglied ist offline   tolly 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 17. Juni 09
  • Reputation: 0

geschrieben 25. Juni 2009 - 08:13

Hallo Zusammen,
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 :gähn: :gähn: :gähn: .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. :wink: ;) :wink: ;)
0

Anzeige



#2 Mitglied ist offline   tavoc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.448
  • Beigetreten: 22. Juli 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 25. Juni 2009 - 08:48

Die grundsätzlichen Konzepte der Programmierung sind in allen Sprachen gleich.
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).
your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
0

#3 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 25. Juni 2009 - 08:52

Zitat

Wie ist der Begriff des Pointers in dieser Sprache?

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.
0

#4 Mitglied ist offline   Talla 

  • Gruppe: aktive Mitglieder
  • Beiträge: 225
  • Beigetreten: 24. Februar 04
  • Reputation: 0
  • Wohnort:Esslingen

geschrieben 25. Juni 2009 - 12:02

Beitrag anzeigenZitat (Witi: 25.06.2009, 09:52)

Alles sind Referenzen. Objekte, die du bspw an Methoden übergibst, werden immer als Referenzen übergeben.


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.
Heimat ist nicht immer dort, wo wir zur Welt kamen - Heimat ist wo wir lieben. *Ehm Welk
0

#5 Mitglied ist offline   Lord_eAgle 

  • Gruppe: aktive Mitglieder
  • Beiträge: 286
  • Beigetreten: 05. Januar 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Büron, LU.ch

geschrieben 25. Juni 2009 - 12:21

Also ich kann das ganze mal relativieren. Ob man die Pointer in C inklusive Anwendung für verkettete Listen + Pointer auf Pointer für schöne Matrizen verstanden hat. oder ob man in C# weiss, was Call by Reference bedeutet, ist schon ein gewaltiger Unterschied. Beim C# werden diese Pointer zur Nebensache.
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

Eingefügtes Bild Eingefügtes Bild
0

#6 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 25. Juni 2009 - 12:53

Zitat

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.

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.
0

#7 Mitglied ist offline   tolly 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 17. Juni 09
  • Reputation: 0

geschrieben 25. Juni 2009 - 15:24

Hallo Lord_eagle,
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 :wink: ;)
Ich hoffe in Oktober wird es mir sehr einfach gehen.

Dieser Beitrag wurde von tolly bearbeitet: 25. Juni 2009 - 15:25

0

#8 Mitglied ist offline   Lord_eAgle 

  • Gruppe: aktive Mitglieder
  • Beiträge: 286
  • Beigetreten: 05. Januar 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Büron, LU.ch

geschrieben 25. Juni 2009 - 16:33

Noja wenn die Pointer für dich "zu schwer" waren kann ich dir natürlich nicht sagen ob du in C# grundsätzliche Programmierkonzepte besser verstehst als in C die Geschichte mit den Pointern.
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

Eingefügtes Bild Eingefügtes Bild
0

#9 Mitglied ist offline   tolly 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 17. Juni 09
  • Reputation: 0

geschrieben 26. Juni 2009 - 08:18

Hallo,
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. :ph34r: :wacko: :wacko:
Ich werde ein Expert bis Oktober (Hoffentlich :wacko: :ph34r: )


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]
0

#10 Mitglied ist offline   Der Kenner 

  • Gruppe: aktive Mitglieder
  • Beiträge: 574
  • Beigetreten: 30. Januar 05
  • Reputation: 0

geschrieben 27. Juni 2009 - 13:49

Zitat

wann ich eine Inhaltoperator bei Pointer auf Pointer brauche, und wann ich einen Stern brauche?

Das ist dasselbe.
0

#11 Mitglied ist offline   tolly 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 17. Juni 09
  • Reputation: 0

geschrieben 29. Juni 2009 - 07:44

Beitrag anzeigenZitat (Der Kenner: 27.06.2009, 14:49)

Das ist dasselbe.



Hallo,
wie ist das dasselbe?
Eine ist inhaltoperator also die kauffmännische Und (&) aber der Stern ist ein Adrssoperator.
Oder bin ich falsch ;) ;) ;) ?
0

#12 Mitglied ist offline   hanussen 

  • Gruppe: aktive Mitglieder
  • Beiträge: 103
  • Beigetreten: 02. November 08
  • Reputation: 0

geschrieben 04. Juli 2009 - 15:34

Folgendes Beispiel versteht jeder:

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
There is method to my madness.
0

#13 Mitglied ist offline   Talla 

  • Gruppe: aktive Mitglieder
  • Beiträge: 225
  • Beigetreten: 24. Februar 04
  • Reputation: 0
  • Wohnort:Esslingen

geschrieben 04. Juli 2009 - 15:48

Beitrag anzeigenZitat (hanussen: 04.07.2009, 16:34)

Was ist aber hiermit?

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.
Heimat ist nicht immer dort, wo wir zur Welt kamen - Heimat ist wo wir lieben. *Ehm Welk
0

#14 Mitglied ist offline   hanussen 

  • Gruppe: aktive Mitglieder
  • Beiträge: 103
  • Beigetreten: 02. November 08
  • Reputation: 0

geschrieben 04. Juli 2009 - 19:07

War ja nur ein kleines Beispiel warum ich persönlich C nicht als "leicht" bezeichnen würde. Klar, wer sich intensiv mit C beschäftigt weiß so etwas oder hat das QM-Buch gelesen dem ich das Beispiel entnommen habe...


MfG Hanussen
There is method to my madness.
0

#15 Mitglied ist offline   tolly 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 17. Juni 09
  • Reputation: 0

geschrieben 06. Juli 2009 - 08:05

Beitrag anzeigenZitat (hanussen: 04.07.2009, 20:07)

War ja nur ein kleines Beispiel warum ich persönlich C nicht als "leicht" bezeichnen würde. Klar, wer sich intensiv mit C beschäftigt weiß so etwas oder hat das QM-Buch gelesen dem ich das Beispiel entnommen habe...


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.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0