Arduino const int vs define?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

#define isn Makro, Präprozessoranweisung.

Der Compiler macht das im ersten Schritt weg und ersetzt die entsprechenden Ausdrücke.

const int, naja, const für konstant, unveränderbar.

Ein Wert kann hier nur einmal zugewiesen werden!

#define finde ich schöner und du musst dich nicht um den Typ kümmern.

Vergess den Arduino Quatsch, das hat nichts mit Arduino zu tun, das ist normales C/C++ was du hier gefragt hast.

Nintendodog 
Fragesteller
 11.01.2021, 01:13

OK danke. Ich bin halt noch ein Anfänger.

Und dürfte ich fragen, was du mit Typ meinst?

0
Simon221585  11.01.2021, 08:59
@Nintendodog

Öhm.

Wenn du jetzt pi definieren willst, musst du dir Gedanken machen, welcher Datentyp da jetzt passt, wenn du das mit double oder float machen willst.

mit define schreibst du halt

#define PI 3.14

1
Nintendodog 
Fragesteller
 11.01.2021, 10:56
@Simon221585

Eine letzte Frage habe ich noch.

Was kann man mit den Konstanten der mit den Const int Befehl zugewiesen wurde machen, was man mit einem #define Befehl nicht kann?

0
Simon221585  11.01.2021, 13:32
@Nintendodog

Ohne die Hand jetzt ins Feuer zu legen, weil jetzt bin ich mir nicht mehr sicher, bei Const kannst du in C++ auch ein eigenes Objekt als Typ angeben. Ich weiß nicht ob ein #define ein eigenes Objekt auch akzeptiert.

Ausprobieren.

0