Χρήση boolean τιμών στη C

Η C δεν έχει ενσωματωμένους τύπους boolean. Ποιος είναι ο καλύτερος τρόπος για να τους χρησιμοποιήσετε στη C;

Λύση

Από το καλύτερο στο χειρότερο:

Επιλογή 1 (C99)

#include 

Επιλογή 2

typedef enum { false, true } bool;

Επιλογή 3

typedef int bool;
enum { false, true };

Επιλογή 4

typedef int bool;
#define true 1
#define false 0

Επεξήγηση

  • Η επιλογή 1 θα λειτουργήσει μόνο αν χρησιμοποιείτε C99 και είναι ο "τυπικός τρόπος" για να το κάνετε. Επιλέξτε αυτή την επιλογή αν είναι δυνατόν.
  • Οι επιλογές 2, 3 και 4 θα έχουν στην πράξη την ίδια πανομοιότυπη συμπεριφορά. #Οι επιλογές #2 και #3 δεν χρησιμοποιούν #defines όμως, κάτι που κατά τη γνώμη μου είναι καλύτερο.

Αν δεν είστε αποφασισμένοι, επιλέξτε το #1!

Σχόλια (0)

Μια boolean στη C είναι ένας ακέραιος αριθμός: μηδέν για το false και μη μηδέν για το true.

Βλέπε επίσης Τύπος δεδομένων Boolean, ενότητα C, C++, Objective-C, AWK.

Σχόλια (1)

Οτιδήποτε μη μηδενικό αξιολογείται ως αληθές στις πράξεις boolean, οπότε θα μπορούσατε απλά να

#define TRUE 1
#define FALSE 0

και να χρησιμοποιήσετε τις σταθερές.

Σχόλια (4)