|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2002
Città: nowhere
Messaggi: 2392
|
bool e c
Ciao a tutti,devo studiare del codice in c per un esame dell'uni.Per quanto rigurda il codice nessun problema ma c'è una cosa che proprio non mi andava giu!!!
Ma esiste il tipo primitivo bool in c??Secondo la mia (modesta )esperienza con questo linguaggio so che non esiste,mentre è presente in c++.Allora perchè il mio prof continua a propinarmi quel codice come c?? Scusate la stipidità della domanda e considertela + che altro uno sfogo.Grazie a tutti |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Non esiste nativo, anche se puoi definire tu qualcosa di simile.
Il c tratta qualsiasi espressione che vale 0 come false, e qualsiasi espressione diversa da 0 come true.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
il tipo bool in C non esiste, e in C++ per quanto mi riguarda meno lo uso e meglio è: sugli Intel generalmente ha le dimensioni di un byte ed il suo range di valori è forzato a 2 possibili valori (anziché 256). a parte il fatto che ci sono situazioni (sporadiche, dal momento che spesso si tratta di errori concettuali, però ci sono) in cui potrei voler assegnare un terzo possibile valore ad una variabile "booleana", ma poi usare un solo byte per i booleani non comporta nessun risparmio di tempo, e anzi: addirittura sapevo che alcuni Intel nel passaggio da operazioni sui 32 bit ad operazioni sul byte presentano (o presentavano, non so) degli stalli; il risparmio è solo di spazio, ma in genere per 3 byte non mi faccio problemi
capitano a volte situazioni in cui devo memorizzare un elevato numero di variabili booleane (ad es. un array mooolto grande di strutture che contengono dei valori booleani): in tal caso non uso bool, uso BYTE (sempre di Microsoft |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
il tipo _Bool è stato introdotto nel C99, ma io ti consiglio di ignorarlo. Assumi che false è 0 e true un qualsiasi altro valore (non inteso solo come numero, ma anche come carattere o qualsiasi altra cosa...)
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2002
Città: nowhere
Messaggi: 2392
|
Grazie tante a tutti...seguiro il vostro consiglio per i miei progetti e imparero il codice del prof per l'esame!!
mi spiegate una cosa? Se ho una funzione a cui io passo un a valore e che fa qualcosa;questa funzione poi restituisce un valore vero o falso.Ora per valutare il valore restituito dalla funzione in questione come faccio?? per esempio se ho :if (funzione(x) )....se il velore restituito per x è 0 allora l'istruzione if non esegue il blocco di istruzioni seguenti??cioè lo interpreta come false??? |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
Quote:
|
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 2002
Città: nowhere
Messaggi: 2392
|
Gia devo esercitarmi di +!!!
Grazie per i consigli... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:41.



















