final - wie in JAVA?

Gast #1084904
> ich kenn das Stichwort "final" aus Java. Gibts so was i C auch?

In welchem Zusammenhang? Konstantendefinition per "static final"? 
Nichtüberschreibbare Methode? Lokale Konstante? Dieses Schlüsselwort hat 
je nach Kontext völlig andere Bedeutung.
Gast #1084916
ich meinte nicht überschreibbare Konstante. Wenns das nicht gibt - auch 
ok.
Wenn noch jemand Zeit und Lust zum Erklären hat: Was ist Überladung und 
assert()?

Danke!
Gast #1085123
> ich meinte nicht überschreibbare Konstante. Wenns das nicht gibt - auch ok.

Klar gibt es das in C. Sogar auf zwei Arten (ich erkläre es jetzt für 
den Typ "int"):
1
const int x = 23;

Legt eine "Variable" namens x an, die den Wert 23 enthält und nicht 
(oder nicht ohne implementierungs-spezifische Tricks) überschrieben 
werden kann. Das entspricht am ehesten "final".

Daneben gibt es eine zweite Möglichkeit, da eine const-Variable in 
gewisser Hinsicht immer noch als Variable behandelt wird - z.B. kann man 
in Standard-C den Variablenwert nicht für Arraygrößen verwenden, da es 
ja eine Variable ist und für Arraygrößen nur Konstante Ausdrücke 
zugelassen werden. Ganz einsichtig ist das nicht, aber so ist es eben. 
Deshalb gibt es die Möglichkeit, über den Präprozessor ein Macro zu 
definieren:
1
#define x 23

Diese Variante ist wenig mehr als eine Textersetzung x->23 und 
funktioniert deshalb auch für Arraygrößen. ("wenig mehr" bedeutet hier, 
dass der Buchstabe x z.B. nur ersetzt wird, wenn er nicht Teil eines 
längeren Bezeichners ist, so wie in "extremwert"). Dann gibt es aber 
keine Variable mehr von der man z.B. die Adresse berechnen könnte.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.