Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - int flag
Forum - C/C++ - int flag

Avatar
ciao888 (Normal User)
Pro


Messaggi: 69
Iscritto: 14/10/2010

Segnala al moderatore
Postato alle 17:52
Mercoledì, 12/01/2011
ho visto su internet che oltre a scrivere
Codice sorgente - presumibilmente C/C++

  1. bool flag

si può anche scrivere
Codice sorgente - presumibilmente C/C++

  1. int flag

,ma è corretto?indicano esattamente la stessa cosa?

PM
Avatar
GuglielmoS (Ex-Member)
Pro


Messaggi: 114
Iscritto: 27/11/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 17:57
Mercoledì, 12/01/2011
Dipende dall'utilizzo che ne fai. Potrebbe servirti salvare uno stato che può essere solo vero o falso (il caso del boolean). Oppure nel caso in cui ci fosse bisogno di 32 bit, si andrebbe ad usare l'int.
Ovviamente puoi usare anche l'int come se fosse un boolean, utilizzando 0 per il falso e tutto il resto per il vero.
Ciao GuglielmoS.

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 18:39
Mercoledì, 12/01/2011

purtroppo in C non esistono i bool, quindi i flag, anche se booleani, vanno espressi con degli int il cui valore è != 0 se veri, == 0 se falsi.

PM
Avatar
ciao888 (Normal User)
Pro


Messaggi: 69
Iscritto: 14/10/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 18:40
Mercoledì, 12/01/2011
ma anche in c++ non esistono i bool?perchè il professore li usa

I bool esistono in C++, che domande sono? - HeDo - 12/01/11 18:57
PM
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 19:10
Mercoledì, 12/01/2011
Testo quotato

Postato originariamente da ciao888:

ma anche in c++ non esistono i bool?perchè il professore li usa


in C++ il tipo di dato bool esiste è può essere usato.
In C spesso incontrerai roba simile:
Codice sorgente - presumibilmente C++

  1. #define TRUE 1
  2. #define FALSE 0
  3.  
  4. typedef int bool;
  5.  
  6. int main (void) {
  7.         bool variabile;
  8.         variabile = TRUE; /* variabile = 1 */
  9.         variabile = FALSE; /* variabile = 0 */
  10.         return 0;
  11. }



EDIT:
@HeDo scusami non ho visto il tuo commento :asd:

Ultima modifica effettuata da Pitagora il 12/01/2011 alle 19:11
PM