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