Redefine Konstante

#619265
Lesenswert?
• ▲
▼
Also, da es sich nicht um eine Konstante sondern eine 
Präprozessoranweisung handelt, wird auch genau das geschehen:
Überall wo das Symbol 'xxx' auftaucht wird er es mit '1100' oder '200' 
ersetzen - das musst Du testen.

Innerhalb der Funktion heißt also ab dort kann es passieren, dass 
überall 'xxx' durch '200' ersetzt wird.

-> Es ist also von so einem Vorgehen abzuraten, weil je nach Position 
immer wieder neue "Effekte" entstehen können.

Und noch was ganz kleinkariertes: Konstanten sind konstant und werden 
nicht geändert (daher macht man sie ja konstant)!
Gast #619273
Lesenswert?
• ▲
▼
>Und noch was ganz kleinkariertes: Konstanten sind konstant und werden
>nicht geändert (daher macht man sie ja konstant)!

Jo, keine Sorge, so eine Frage bzw. Fragestellung schreit gerade zu nach 
kleinkarierten Antworten, das verkrafte ich schon ;-)

Da innerhalb eines Initialisierungsvorganges eine 
"_Präprozessoranweisung" nur  einmal für nur die eine Funktion geändert 
werden muss und nach dem diese Funktion durchlaufen ist (Code garantiert 
für nur einmaligen Durchlauf) die "_Präprozessoranweisung" wieder auf 
den ursprünglichen Wert zurückdefiniert wird, müsste ich also keine 
Probleme bekommen.
#619335
Lesenswert?
• ▲
▼
Unabhängig von den Argumenten, die gegen das lokale Umdefinieren einer 
Präprozessor-Definition sprechen - es handelt sich mitnichten um eine 
Konstante! - kann man die Warnung folgendermaßen wegkriegen:

#define xxx 1100

...

#undef xxx
#define xxx 200

Das xxx für eine Funktion umzudefinieren ist allerdings deswegen keine 
sonderlich gute Idee, weil der Präprozessor keine Ahnung von C-Scopes 
hat; man muß also die ursprüngliche Definition hinterher selbst 
wiederherstellen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.