• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Release Le variabili Booleane

gedamial

Utente Senior
Autore del topic
9 Giugno 2010
1.937
69
Miglior risposta
0
Salve.
Capiamo cosa sono le variabili booleane che sicuramente avrete sentito. Esse ci consentono di operare su sole due scelte: 0 e 1, TRUE e FALSE, SI e NO.

In C, come sappiamo, per dichiarare una variabile di tipo int possiamo fare semplicemente

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

E se volessimo dichiarare una variabile booleana? In C si chiama _Bool
In questo modo dichiariamo una variabile _Bool (di tipo booleana)

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

In seguito, gli diamo il valore 0 (falso, no)

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

NON DIMENTICARE CHE: = serve ad assegnare un valore ad una variabile, mentre == serve a confrontare due variabili.


Per visualizzare il valore di una variabile booleana all'interno di una routine printf basta seguire la seguente sintassi:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

dove %u (che potrebbe anche essere %i) è il formato di printf da utilizzar nel caso si voglia visualizzare un valore booleano.

Però sorge un problema per i pigri come me: è troppo scocciante e faticoso usare _Bool per dichiarare una variabile booleana perché bisogna premere il tasto Shift :emoji_relieved:

Bene, allora il C ci offre una libreria in grado di dichiarare una variabile booleana usando solo:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

La libreria in questione è <stdbool.h> e va messa insieme alle altre

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Questa è solo l'introduzione alle variabili booleane (che, tra l'altro, non mi piace usare :emoji_relieved:), ma voi scatenate la vostra pazza fantasia :|
Cià belli >_>
 
Ultima modifica:
C'è da dire che che questa possibilità c'è solo se si compila utilizzando lo standard C99.

Comunque, == è un operatore di confronto, mentre = è di assegnamento. Non è che scrivendo x == y; si intende che x diventa "uguale in tutto e per tutto" a y. ;)
 
NON DIMENTICARE CHE: = serve ad assegnare un valore ad una variabile, mentre == serve a dire che - per esempio - x è uguale a tutti gli effetti a y
No.
L'operatore "=" si usa per assegnare un valore, ad esempio, una variabile
Esempio:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Invece, l'operatore "==" serve per confrontare, ad esempio, una variabile con un valore.
Esempio:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
  • Like
Reactions: 1 person
C'è da dire che che questa possibilità c'è solo se si compila utilizzando lo standard C99.

Comunque, == è un operatore di confronto, mentre = è di assegnamento. Non è che scrivendo x == y; si intende che x diventa "uguale in tutto e per tutto" a y. ;)

Grazie della precisazione. Aggiusto :emoji_smiley:
 
  • Like
Reactions: 1 person
La dicitura _Bool è uno standard del C99 che ormai non si usa più. Il linguaggio si è evoluto. Non so perché tu l'abbia usata ma ti assicuro che non troverai in nessun programma _Bool var al posto di bool var ahah
 
  • Like
Reactions: 2 people
La dicitura _Bool è uno standard del C99 che ormai non si usa più. Il linguaggio si è evoluto. Non so perché tu l'abbia usata ma ti assicuro che non troverai in nessun programma _Bool var al posto di bool var ahah

Infatti ho messo anche il metodo "moderno e alternativo" :emoji_relieved:
 
Infatti ho messo anche il metodo "moderno e alternativo" :emoji_relieved:

Sì ma non hai dato una motivazione del perché si usa la dicitura bool al posto di _Bool, hai solo scritto "Però sorge un problema per i pigri come me: è troppo scocciante e faticoso usare _Bool per dichiarare una variabile booleana perché bisogna premere il tasto Shift"; che per quanto possa essere ironico non è chiarificatorio. I linguaggi si evolvono e pertanto le vecchie diciture diventano "anomale".
 
  • Like
Reactions: 1 person