-
-
Hi Stefan!
Ich bin auch Programmier-Autodidakt und C-Einsteiger. Insofern verstehe ich Deine Problemchen, gebe aber gleichzeitig keine Garantie auf Richtigkeit meiner Angaben. (Vor allem was Konventionen angeht, bin ich gerade erst am aufarbeiten meiner Kenntnisse.
Ein paar Begrifflichkeiten (zumindest wie ich es bisher mitbekam...)
Variablen-Deklaration:
Deklarieren heißt erklären. Damit erklärst Du, dass es einen Speicherbereich einer gewissen Größe gibt, den unter dem Variablennamen ansprechen kannst.
Variablen-Initialisierung
Initiieren heißt einleiten/starten. D.h. im Klartext: Die Initialisierung (das Wort kommt von intiieren) ist die erste Wertbelegung der Variablen.
Welches von beidem man jetzt als Definition einer Variablen ansieht... nun ich glaube eher das erstere, da es ab diesem Zeitpunkt die Variable gibt.
Ich versuch mal ein Beispiel:
int main(){
int a; /* ist die reine Deklaration */
a = 4; /* hier wird a intialisiert */
int b = 5; /* Deklaration inklusive Initialisierung */
printf("\nVariable a: %d\nVariable b: %d",a,b);
}
Dieses Programm ist von mir jetzt nicht getestet, sondern aus den Fingern gesaugt, kann sein, dass Du noch #include <stdio.h> vorne hinsetzen musst.
Jetzt aber zum Wesentlichen: Der Vorteil liegt einfach darin, dass Variable b von Anfang an einen Wert hat, Variable a nicht!
Der Compiler belegt für a einfach nur einen Platz im Speicher mit der Größe eines Integer, er löscht ihn nicht. Das heißt, dass egal was vorher dort stand immer noch dort steht und als Wert von a aufgefasst wird.
JAVA, obwohl an C angelehnt, initialisiert übrigens immer von vornherein, da wäre der Anfangswert von a 0.
Ich hoffe Dir geholfen zu haben. Wenn Du noch Fragen hast, poste ins Forum oder schreib mir 'ne Mail, die müsste in meiner Charakteristik stehen.
Ciao,
djlauk
-
Hi,
und vielen Dank, jetzt bin ich wunschlos glücklich! Bestätigt genau das was ich mir "zusammengereimt" hatte!
Gruß und Danke
Stefan
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen