AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Pointerinhalt verändern

Ein Thema von Jasmine · begonnen am 30. Jun 2005 · letzter Beitrag vom 1. Jul 2005
 
Olli
(Gast)

n/a Beiträge
 
#14

Re: Pointerinhalt verändern

  Alt 1. Jul 2005, 09:12
Zitat von Delphi-Freak:
Bedeutet das, dass wenn man zwei Typen
Delphi-Quellcode:
type
  MyType: Array of Byte;
  PMyType: ^MyType;
hat, dass es dann automatisch die »Funktion« PMyType gibt, um einen Pointer zu erzeugen?
Nein, es bedeutet, daß man verschiedene Typen ineinander "konvertieren" kann. Das nennt sich dann "Typecast". Diese Methode gibt es in verschiedenen Sprachen und sie ist an verschiedenen Stellen unabdingbar - insofern deine benutzte Sprache eine halbwegs rigide Typüberprüfung während der Kompilation vornimmt.

Beispiel:
Delphi-Quellcode:
var
  Int32: Integer; // vorzeichenbehaftet 32bit
  UInt32: DWORD; // vorzeichenlos 32bit
  Bla: PChar; // Pointer auf nullterminierte Zeichenkette
begin
  Int32 := -1;
  UInt32 := DWORD(Int32); // vorzeichenbehaftet nach vorzeichenlos konvertieren
  // Hier ist (UInt32 == $FFFFFFFF)
  Bla := 'Ottokar das Früchtchen';
  UInt32 := DWORD(Bla); // Pointer nach "unsigned integer"
  UInt32 := UInt32 + 4;
  Bla := PChar(UInt32);
  // Hier zeigt Bla auf 'kar das Früchtchen'! Wir sind nämlich 4 Bytes vorgerückt
end;
String(PCharVariable) und PChar(StringVariable) gehören ebenfalls in diese Kategorie, haben aber noch eine tiefere Bedeutung ("compiler magic")!
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz