Enum oder Define

Gast #1645027
Lesenswert?
• ▲
▼
Hallo

Ich bin heute auf die Frage gestoßen, die im Titel angedeutet ist:
Sollte man für Unterscheidungen defines oder enum oder defines 
verwenden.

Ich glaube diese Frage ist ziemlich allgemein, aber ich will mal ein 
Beispiel erstellen.

Ich habe eine endliche Anzahl von Befehlen die ich über eine RS232 
Verbindung mitteilen kann, um diese zu unterscheiden kriegt jeder Befehl 
einen eigenen eindeutigen(von einader unterscheidbaren) Identifier.

Jetzt kommt die Frage wie man die Identifier implementiert: enum oder 
define.

Spontan würde ich sagen Enum ist programmiertechnisch eleganter.
Auf der anderen Seite sparen ja defines Speicherplatz.


Was sagt ihr? Ist das eine Frage die mehrere Meinung zu lässt oder gibt 
es für euch nur eine richtige Lösung?
#1645035
Lesenswert?
• ▲
▼
David 1 schrieb:

> Was sagt ihr?

Es ist völlig wurscht.
Die einzige Unterscheidung in C ist, dass ein enum in einer 
Debug-Version einen kleinen Footprint im Programm hinterlässt und es dem 
Debugger ermöglicht anstelle von Zahlen Programmspezifische Ausdrücke 
anzuzeigen.

Aber ansonsten ist es in C ziemlich Jacke wie Hose (leider).

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.