const in C



  • Von C++ kenne ich es so, dass man const so ziemlich immer Nutzen sollte wenn es möglich ist. Gilt das auch für C, oder sprechen da irgendwelche Argumente gegen?



  • Hängt vom Anwendungsfall ab. Entweder static const, enum oder eben ein Makro. Sofern es möglich ist, sollte man aber immer zu den typisierten Varianten greifen und erst im letzten Schritt zum Makro, wenn es anders nicht geht.



  • Es gibt in C keine erzwungene const-correctness wie in C++, d.h. du kannst ohn weiteres die Adresse eines const-Objektes an einen Zeiger auf nicht-const zuweisen. Globale const-Variablen haben per default external (statt wie in C++ internal) linkage. Daraus ergibt sich, dass die Regeln für die Benutzung von const in C sich nicht an C++ anlehnen sollten.


Anmelden zum Antworten