Einzelnen Beitrag anzeigen

Tenobaal

Registriert seit: 9. Mai 2013
21 Beiträge
 
Delphi XE5 Professional
 
#1

Arrays nicht automatisch mit Nullen gefüllt?

  Alt 12. Nov 2014, 14:21
Delphi-Version: 5
Hallo!
Ich habe eine allgemeine Frage zu Arrays in der Programmiersprache Pascal.
Scheinbar werden diese je nachdem, wo sie deklariert wurden anders behandelt.
Hier mal zwei Fälle die mir aufgefallen sind:

1. Fall: Ein Array als Klassenfeld -> Das Array ist komplett mit Nullen gefüllt.
Delphi-Quellcode:
type TMeineKlasse = class
  NZ0:Array[1..60000] of Integer; //Array als Feld der Klasse TMeineKlasse
  // Weitere Variablen...
End;
End
2. Fall: Ein Array als Klassenfeld -> Einige Elemente des Arrays sind ungleich Null.
Delphi-Quellcode:
function TMeineKlasse.MeineFunktion;
var
  NZ0:Array[1..60000] of Integer; //lokales Array
Begin
//Mache irgentwas
End

Im zweiten Fall wird wahrscheinlich Speicher reserviert, aber der Inhalt des Speichers nicht mit Nullen überschrieben.
Wieso sind dann trotzdem die meisten Elemente (ca. 99%) mit dem Wert Null belegt? Reiner Zufall?

Edit: Dynamische Array wiederum verhalten sich stets entsprechend dem 1.Fall, egal wo sie deklariert wurden.

MFG Tenobaal

Geändert von Tenobaal (12. Nov 2014 um 14:27 Uhr)
  Mit Zitat antworten Zitat