Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 19. Nov 2018 6:00

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Define von TRUE und FALSE
BeitragVerfasst: 14. Mai 2007 14:08 
Hallo Forum,

bis anhin war ich es mir gewohnt, folgendes in einem Programm zu definieren:
Code:
#define TRUE 1
#define FALSE 0
Vorhin ist mir diese Definition begegnet
Code:
#define false (0!=0)
#define true  (0==0)
Was ist der Vorteil/Grund?

Vielen Dank auch!

Da-Beej


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14. Mai 2007 19:19 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Die untere Definition funktioniert auch, wenn FALSE auf der betreffenden Maschine als 664576 und TRUE als 24542 definiert ist.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 15. Mai 2007 11:06 
Offline
Pro-Linux
Benutzeravatar

Registriert: 15. Aug 1999 16:59
Beiträge: 3237
Wohnort: Bruchsal
Hi!

Der C-Standard schreibt vor, dass 0 als False interpretiert wird, alles andere als True. Die Definition ist daher Bullshit.

Grüße,
hjb

_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 15. Mai 2007 11:47 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Ich hab' zwar im Standard http://www.open-std.org/JTC1/SC22/WG14/ ... /n1124.pdf
nirgendwo eine konkrete Definition von True und False gefunden, allerdings wird dort an vielen vielen Stellen einfach 0 als False angenommen, und 1 bzw. nicht 0 als True. Insofern hat hjb recht, mit dem jetzigen C-Standard ist die Definition überflüssig.

Statt es selbst zu definieren, sollte man allerdings lieber <stdbool.h> einbinden.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 16. Mai 2007 10:28 
Offline
Pro-Linux
Benutzeravatar

Registriert: 15. Aug 1999 16:59
Beiträge: 3237
Wohnort: Bruchsal
Hi,

in C gibt es kein True und False. Konstrukte wie if, while und Vergleiche arbeiten mit int, wobei halt 0 False entspricht und alles andere True. War auch schon immer so.

Ist stdbool.h so Standard, wie der Name suggeriert? War mir bisher nicht bekannt.

Grüße,
hjb

_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 16. Mai 2007 18:01 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Wird ebenfalls im verlinkten Dokument erwähnt und empfohlen.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de