Was ist der Unterschied zwischen Zuweisung und Initialisierung?
Was ist der Unterschied zwischen Zuweisung und Initialisierung?
sind sie dieselbe
BIld 2
5 Antworten
Wenn man eine Variable bei C anlegt, sucht der Compiler eine freie Speicherzelle auf die diese Variable dann zeigt. Diese Speicherzelle enthält dann Werte die Programme die vorher liefen dort abgelegt hatten oder es wird eine Speicherzelle benutzt die das programm vorher bereits für was anderes benutzt hatte. Auf jeden Fall kann man nicht wissen, welcher Wert dann in dieser Variable steht.
Man muss also wenn man mit dem Wert in einer Variable arbeiten will vorher einen Wert hinein schreiben mit dem man arbeiten will. Das nennt man initialisieren. Man schreibt also einen initialen Wert hinein bevor man damit arbeiten kann. Das Wort "initial" bedeutet "Anfänglich" oder "Beginnend".
Benutzt man eine FOR Schleife, dann erfolgt diese Initialisierung automatisch:
int zaehler;
...
...
for (zaehler = 0; zaehler < 100; zaehler ++)
{
...
...
}
Der Compier übersetzt diese FOR Schleife intern in eine while Schleife:
int zaehler;
...
...
zaehler = 0;
while(zaehler < 100)
{
...
...
zaehler++;
}
Möchte man selber eine while Schleife benutzen, muss man wie oben den Schleifenzähler initialisieren. Das kann man machen wie der Compiler bei der FOR Schleife oder direkt bei der deklaration der Variable:
int zaehler = 0;
Hier wird dann eine Speicherzelle für die Variable gesucht und dann sofort mit dem gewünschten Wert (hier 0) beschrieben, also initialisiert.
Eine Initialisierung ist also eine Deklaration mit gleichzeitiger Zuweisung eines Wertes.
Zuweisung ist das Setzen eines Wertes an eine Variable.
Initialisierung kommt von init, dem Beginn. Im Latein: er/sie/es geht hinein.
Es ist die erste Zuweisung an eine Variable, damit die im weiteren Verlauf einen definierten und erkennbaren Wert hat.
Wenn du nur
int alpha;
schreibst, hat alpha einen vom Programmcode her nicht festgelegten Wert. Daher die Initialisierung.
Eine Initislisierung ist eine Zuweisung, aber nicht andersrum, weil du auch später den Wert noch einmal durch eine Zuweisung ändern kannst.
Eine Deklaration ist eine Bekanntgabe von Typ und Namen einer Variablen.
Nein,
für permanent ist das Schlüsselwort 'const' bei der Variablendeklaration.
Init heißt anfänglich, erstmals.
Teste doch mal das Beispiel mit 'int alpha;' und gib alpha mit printf( "alpha = %d\n", alpha ); aus. Dann starte das Programm mehrfach. alpha sollte bei den Progeammstarts meist verschieden sein.
Um alpha im weiteren Programmablauf beispielsweise mit dem Wert 0 zu haben, wird durch eine initiale / erste Zuweisung alpha mit einem definierten Wert belegt.
Im weiteren Verlauf kann alpha ein anderer Wert zugewiesen werden.
ehrlich ich verstehe dich immer nicht gut.
Das Buch sagt ( im BIld no2 oben) habe gerade hinzugefügt.
Wenn eine Variable bei Deklarieren gleichzeitig einen Wert bekommen( Zuweisung) ist dann diese Initialisierugn.stimmt?
Also Initialisierung= Deklarieren + Zuweisung . Stimmt? Wenn dann habe ich so wie im jetzt verstanden
Klingt schon viel besser.
Wenn die Variable bei der Deklarierung einen Wert bekommt, dann ist das eine Initialisierung. Meine Definition weiter oben basiert auf C++ mit Klassen. Dort ist das etwas anders.
Eine Zuweisung ist auch das Setzen eines Wertes, aber nicht bei der Deklarierung.
Initialisierung ist die erstmalige Zuweisung. Die geht auch automatisch, zB bei integer ist es 0.
deklaration sagt es gibt eine variable dieses typs. initialisierung weiß dieser variable einen wert zu
Ein Variable zu initiaisieren, bedeutet, ihr erstmals einen Wert zu geben.
Also Zuweisung PERMAEANTsetzen eines Wertes an eine Variable( später kann nicht verändert werden)?
aber Initialisierung ist Temporal setzen eines Wertes an ein Variable( später kann geändert werden)