Nicht angemeldet. · Kennwort vergessen · Registrieren

D.Kay
Mitglied seit 10/2010
15 Beiträge
Betreff: Makrodefinition vs. globale statische Variable
Hey,
mal aus Interesse, in einigen Programmieraufgaben war durch #define eine Makrodefinition vorgegeben. z.B. März 2010 (Tankkontrolle) mit FILL_MAX.
Gibt es einen Vorteil durch #define oder worin liegt der Unterschied zu einer globalen statischen (u.U. auch const) Variablen? Spart das vielleicht Speicherplatz, weil es im Präprozessor schon substituiert wird?
morty
SPiC-Meister
(Moderator)
Mitglied seit 05/2011
331 Beiträge
Vorteil Makro: Man kann dem Compiler Makros auf der Kommandozeile übergeben. gcc ... -DTIMER=10
Vorteil Makro: Man kann mit Makro Programmieren
  1. #define MAXSPEED 250
  2. #if MAXSPEED > 200
  3. #define GAENGE 7
  4. #else
  5. #define GAENGE 6
  6. #endif
Vorteil Variable: Type-Checking etc.

An sich ist die static const die bessere Lösung für die meisten Fälle
Aber: #define ist einfach schneller geschrieben als static const vartyp.
Schließen Kleiner – Größer + Auf diesen Beitrag antworten:
Prüfcode: VeriCode Gib bitte das Wort aus dem Bild ins folgende Textfeld ein. (Nur die Buchstaben eingeben, Kleinschreibung ist in Ordnung.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O :troll:
Weitere Zeichen:
Gehe zu Forum
Powered by the Unclassified NewsBoard software, 20110527-dev, © 2003-8 by Yves Goergen