6.1 - Boolean literal
Per "boolean type literal" ci riferiamo ai valori letterali che possiamo utilizzare per rappresentare i nostri dati di tipo boolean, per rappresentare un dato di tipo boolean si usa la seguente notazione:
C:
_Bool variabile = 1; // CHE EQUIVALE A "vero"
//oppure
_Bool variabile = 0; //CHE EQUIVALE A "falso"
7 - Conversioni implicite
Per conversioni implicite si intende l'operazione di conversione che avviene in maniera automatica (la fa il compilatore) quando viene assegnato un determinato tipo di dato ad una variabile di tipo diverso.
Quando assegniamo in qualsiasi modo un valore ad una variabile possono verificarsi tre casi:
- No Conversion
- Type Promotion (promozione o "promozione di tipo")
- Type Demotion (retrocessione o "retrocessione di tipo")
- No conversion:
- dato e variabile sono dello stesso tipo e quindi non avviene nessuna conversione.
C:
int a = 10;
int b = a: //sono dello stesso tipo, quindi nessun problema.
- Type Promotion:
- dato e variabile non sono dello stesso tipo
- e la variabile di destinazione ha un data type più capiente di quello del dato quindi si ha una "promozione"
- Quello che accade è che il dato verrà convertito nel nuovo tipo e avrà anche più spazio a disposizione di quello che aveva nella variabile da cui proviene.
- dato e variabile non sono dello stesso tipo
C:
int a = 10; // il numero 10 verrà copiato in una memoria più capiente
double b = a; // il 10 cambierà tipo da int a float quindi diventerà 10.0
- Type Demotion:
- dato e variabile non sono dello stesso tipo
- e la variabile di destinazione ha un data type meno capiente di quello del dato quindi si ha una retrocessione
- ovviamente ciò può causare problemi, infatti si può avere una perdita di informazione.
C:
double a = 10;
int b = a;
8 - Typedef
Il linguaggio C ci permette di "creare dei nuovi data-type sfruttando quelli esistenti" in verità quello che facciamo è dare quello che potremmo definire un "soprannome" ai data-type già esistenti che possiamo però usare come se fossero dei veri data-type. La sintassi per usare il typedef è la seguente:
C:
typedef type_id nuovo_nome;
Ad esempio possiamo dire che vogliamo usare la parola "ciao" per indicare il tipo int, per farlo dobbiamo prima dire al compilatore, che vogliamo usare questo nuovo "alias" per riferirci al tipo int:
C:
typedef int CIAO;
Se ora vogliamo a dichiarare una variabile di tipo int usando il nuovo alias ci basta fare così:
C:
CIAO variabile;
la variabile appena creata sarà una variabile di tipo int.