Weshalb gibt man beim Programmieren Variablen einen Anfangswert/Initialwert?

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Addiere zu einer Variable mit nicht definiertem Wert einen bekannte Wert - und das Ergebnis wird immer noch undefiniert sein. Womit eine Variable mit undefiniertem Wert für eine solchen Zweck unbrauchbar ist.

Abhilfe: setzte die Variable auf einen definierten Wert, zum Beispiel 0, und Berechnungen auf und mit der Variablen liefern ein definiertes Resultat. Ein solches ist dann auch brauchbar.

Eventuell ist dir nicht deutlich: Nicht-initialisierte Variablen sind nicht garantiert, einen bestimmten Wert zu haben. Der Wert könnte beliebig sein.

Warum manchmal "0" - das hängt vollständig vom Zweck der Variablen ab. Möchtest du z.B. einen Zähler für Ereignisse, der bei jedem Auftreten des Ereignisses dieses zählt, dann willst du natürlich bei 0 anfangen, und für jedes Ereignis um 1 erhöhen. Eine mit 1000 initialisierte Variable macht wenig Sinn, wenn die nach 5 gezählten Ereignissen dann besagt, dass davon bereits 1005 stattgefunden haben.


Bushmills145  03.01.2023, 23:57

Danke schön für Sternchen!

0

Muss man nicht. Man muss aber sicher stellen dass vor dem ersten Lesen die Variable einen sinnvollen Wert hat. Wenn man korrekt programmiert hat ergibt sich das automatisch.

Es kann aber manchmal hilfreich sein dass man z.b. Arrays mit 0 initialisiert wenn man in der Funktion nur wenig Elemente auf ungleich 0 setzen will. Oder man eine String in ein Array kopiert und dann innerhalb der Funktion einzelne Daten ändern will.

Denn dann hat man km Code nur die Zugriffe auf die einzelnen Elemente, das macht es etwas übersichtlicher.

Woher ich das weiß:Berufserfahrung

orochi02  03.01.2023, 09:28

erster absatz macht diese antwort zur einzig richtigen antwort

0

Wenn eine Variable nicht definiert ist, aber angesprochen wird, kann es zu Fehlern kommen. Außerdem ist es z. B. für eine Schleife nützlich, wenn irgendwo gezählt werden soll.

Wenn eine Variable verwendet wird, die bis zur Verwendung noch keinen Wert erhalten hat, aber z.B. für Berechnungen genutzt werden soll, ist es nicht vorteilhaft, wenn die Variable den Wert NULL (also absolut gar nichts, nicht einmal den Zahlenwert 0) hat. Also vergibt man der Variablen einen Wert, um diesen Zustand zu vermeiden.


Tyldu  02.01.2023, 23:27

den wert NULL gibt es nur bei variablen die eine speicheradresse speichern. wenn man eine variable nicht initialisiert die einen konkreten wert halten soll (also zb eine ganzzahl wie 0) dann hat diese nicht den wert NULL sondern einen nicht vorhersehbaren zufälligen wert (einfach das was vorher an dieser speicherstelle stand)

es gibt aber auch viele sprachen die valuetypes direkt mit 0 oä implizit initialisieren oder das ganze erst gar nicht kompilieren wollen.

3

Lesender Zugriff auf eine noch nicht initialisierte Variable wird nicht selten das Programm zum Absturz bringen.

Programme aber, die gelegentlich abstürzen, sind dem Endanwender nicht zuzumuten.