Qualcuno può spiegarmi qual è la differenza tra _Bool e il tipo di dati bool in C? Per esempioDifferenza tra i tipi _Bool e bool in C?
_Bool x = 1;
bool y = true;
printf("%d", x);
printf("%d", y);
Qualcuno può spiegarmi qual è la differenza tra _Bool e il tipo di dati bool in C? Per esempioDifferenza tra i tipi _Bool e bool in C?
_Bool x = 1;
bool y = true;
printf("%d", x);
printf("%d", y);
Questi tipi di dati sono stati aggiunti nel C99. Poiché bool
non era prenotato prima di C99, utilizza la parola chiave _Bool
(che era riservata).
bool
è uno pseudonimo per _Bool
se si include stdbool.h
. In sostanza, l'intestazione stdbool.h
indica che il codice è corretto con l'identificatore bool
che è "riservato", ovvero che il codice non lo utilizzerà per i propri scopi (analogamente agli identificatori true
e false
).
+1 per includere la cronologia. – Lindydancer
L'intenzione a lungo termine sembra essere che lo standard verrà eventualmente rivisto per fare di bool una parola chiave. Questo è il passaggio 1, dove puoi usare
Non capisco perché questo debba richiedere due decenni dato che è un miglioramento piuttosto ovvio. Il codice che non apprezza questo cambiamento può ancora essere compilato usando le attuali versioni del compilatore. –
Non c'è differenza.
bool
è una macro che si espande a _Bool
in stdbool.h
.
E true
è una macro che si espande a 1 in stdbool.h
'bool' deve essere un typedef, C non ha quel tipo. –
Analogo a _Complex vs complesso. –