Ergebnis 1 bis 14 von 14

Thema: Verwendung von Pointern/Zeigern!?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat
    Das man alles ohne Pointer erledigen kann, halte ich für eine Fehlinformation sondergleichen. Such dir dringend andere Informationsquellen, als diesen Thread hier.
    Ich habe gestern mit meinem Schwager sprechen können, der Technische Informatik studiert hat und seit Anfang des Jahres arbeitet und wie es aussieht... hast du vollkommen Recht!!
    Jedoch ist es trotzdem gut, weitere Anwendungsbeispiele niederzuschreiben und den riesen Irrtum, dass Pointer unnütz sind, hat man hier ja erfolgreich beiseite geschafft

    also wer noch was weiß, immer her damit xD

    Schüssikowski
    elsen

  2. #2
    Sinnlos sind Zeiger natürlich nicht. Manche Sprachen nehmen dem Programmierer allerdings das Arbeiten mit Zeigern ab. In manchen Programmiersprachen kommt man also sehr gut ohne Zeiger zurecht (die Sprache selbst nutzt dann intern Zeiger, der Programmierer merkt davon nichts), bei einer Sprache wie C ist der Einsatz von Zeiger jedoch an vielen Stellen notwendig.

    Unser Arbeitsspeicher besteht ja gewissermaßen aus Byte-Zellen, die sich adressieren lassen. Wenn die CPU eine Speicherzelle ansprechen möchte, muss sie deren Adresse kennen. Im Prinzip benutzt die CPU also bei jedem Befehl einen Zeiger, denn der Befehl muss erstmal aus dem Arbeitsspeicher geholt werden. Wenn der Befehl dann noch Daten aus dem Arbeitsspeicher braucht, wird wieder ein Zeiger verwendet.
    Zeiger sind für die Arbeit eines Computers also essentiell. Auch C-Variablen sind eigentlich nur Zeiger. Eine Zuweisung der Art a = 5;, wird vom Compiler z.B. so übersetzt (wenn a an der Adresse 0x402000 liegt): mov dword [0x402000],5.
    Das bedeutet eigentlich nur: Schreibe den 32bit-Wert 5 an die Adresse 0x402000. Die Adresse 0x402000 ist hier also der Zeiger (sie zeigt auf den Speicherbereich, den wir als Variable a definiert haben).

    Bei den normalen Variablen-Typen in C, nimmt uns der Compiler die Arbeit also gut ab und bei solchen Variablen ist das direkte Anwenden von C-Zeigern meistens nicht notwendig (sofern die Variablen einzeln verwendet werden). Anders sieht das bei Speicherbereichen aus, die größer als 4 Byte sind (ich rede von 32bit PCs).
    Die bereits genannten Zeichenketten sind da nur ein Beispiel, aber auch jede andere Art von Daten, die mehr als 4 Byte benötigt (z.B. Arrays, größere Datenblöcke von Strukturen oder jegliche Art von Rohdaten wie Bilder, Musik, etc.), wird von einem C-Programmierer in der Regel mit Zeigern angesprochen.

    Ein richtiges Verständnis für Zeiger entwickelt sich wohl erst, wenn man mit diesen arbeitet oder wenn man Assembler lernt. Was du nun genau unter Anwendungsbeispielen verstehst, ist mir nicht genau klar. Eigentlich jedes größere und halbwegs sinnvolle C-Programm nutzt Zeiger.

    freundliche Grüße, Rolus

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •