Anzeige:
Ergebnis 1 bis 3 von 3

Thema: C++ Definitionen

  1. #1
    Gast

    Question C++ Definitionen

    Hallo zusammen,

    nach einer kleinen Abstinenz habe ich mal wieder ein paar Schritte in Sachen C++ im Selbststudium gemacht. Natürlich ist wieder eine kleine Frage aufgetaucht

    Kann mir jemand erklären wie das mit den Definitionen in C++ ist? Soweit ich das verstanden habe, muß man einer deklarierten Variablen irgendwo im Code einen Wert (im Buch steht immer was von Entität, also eine gegebene Größe) zuweisen (dieses zuweisen verstehe ich dann als Definition).

    Irgendwie habe ich nun den Eindruck, daß diese Wertzuweisung bereits direkt im Deklarationsteil erfolgen muß, man also z. B. einer Integervariablen sofort einen Startwert zuweisen muß (int zaehler=0 ? Kann man das nicht auch später machen, bzw. was ist denn laut Konventionen sinnvoll?

    Danke und Gruß

    Stefan

  2. #2
    Gast

    Cool

    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

  3. #3
    Gast

    Thumbs up

    Hi,

    und vielen Dank, jetzt bin ich wunschlos glücklich! Bestätigt genau das was ich mir "zusammengereimt" hatte!

    Gruß und Danke

    Stefan

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •