Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Variablen initialisieren nötig? (https://www.delphipraxis.net/52621-variablen-initialisieren-noetig.html)

LoL 31. Aug 2005 16:06


Variablen initialisieren nötig?
 
Hi,

jetzt hab ich mal ne ganze doofe Frage :mrgreen:

wenn ich folgendes habe,
Delphi-Quellcode:
var i : byte
ist dann "i" automatisch aber der ersten Benutzung immer 0 oder kann es sein das mal 100 oder so drin steht?
Ich habe mir es zwar angewöhnt alle Variablen zu initialisieren, aber ist das nötig? Holt sich Delphu für die Variablen einen leeren Speicherplatz oder wie ist das :zwinker:

SirThornberry 31. Aug 2005 16:11

Re: Variablen initialisieren nötig?
 
lokale variable sind nicht initialisiert
Beispiel:
Delphi-Quellcode:
procedure abc;
var i: Integer;
begin
  showmessage(inttostr(i));
variablen die in einer Klasse sind werden mit 0 initialisiert (speicher wird vermutlich vorher mit Nullen überschrieben)
und bei Globalen Variablen bin ich mir nicht sicher (aber da kann man ja beim declarieren einen Wert angeben so das ich davon ausgehe das dieser standardmäßig mit 0 initialisiert wird

Flocke 31. Aug 2005 16:12

Re: Variablen initialisieren nötig?
 
Zitat:

Zitat von SirThornberry
lokale variable sind nicht initialisiert

Nicht ganz - strings und interfaces werden initialisiert.

SirThornberry 31. Aug 2005 16:24

Re: Variablen initialisieren nötig?
 
@Flocke: Das liegt dann aber daran das es keine gewöhnlichen Variablen sind sondern per Compilermagic gesetzt werden (ansonsten würde eine Stringvariable(Pointer) ins Nirvana zeigen und das ganze String-Speichermanagement würde nicht funktionieren)

Robert_G 31. Aug 2005 16:36

Re: Variablen initialisieren nötig?
 
Wäre auch irgendwo resourcenverschwendend lokale Variablen zu initialisieren. ;)
Eine lokale Variable, in der man nix reinschreibt wäre ja etwas "sinnbefreit".

Flocke 31. Aug 2005 17:08

Re: Variablen initialisieren nötig?
 
Wobei ich die Möglichkeit, eine lokale Variable direkt bei der Deklaration initialisieren zu können, nicht von der Tischkante stoßen würde (in C/C++ geht so was ja auch).

Delphi-Quellcode:
procedure Bla;
var
  x: integer = 77;
begin
  ...
end;

malo 31. Aug 2005 17:25

Re: Variablen initialisieren nötig?
 
Zitat:

Zitat von Flocke
Wobei ich die Möglichkeit, eine lokale Variable direkt bei der Deklaration initialisieren zu können, nicht von der Tischkante stoßen würde (in C/C++ geht so was ja auch).

Delphi-Quellcode:
procedure Bla;
var
  x: integer = 77;
begin
  ...
end;

So etwas geht nur bei beschreibbaren Konstanten, nicht bei Variablen. ;)

Jedenfalls in Delphi.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz