Skip to content

Tipi di Dato Base

Il C fornisce diversi tipi di dato base per rappresentare le informazioni.

A partire dal C99, il C supporta un tipo booleano nativo chiamato _Bool (può contenere solo 0 o 1). Tuttavia, includendo la libreria <stdbool.h>, puoi usare la più comoda sintassi bool con i valori true e false.

#include <stdbool.h>
bool is_valid = true;

Il C definisce tre tipi di caratteri: char, signed char, e unsigned char. Il tipo char viene usato per rappresentare i caratteri (lettere, numeri, punteggiatura). Sotto il cofano, ogni carattere è mappato a un numero intero tramite una codifica (generalmente ASCII).

Se hai bisogno di gestire alfabeti internazionali (Unicode), il C offre i “wide characters” tramite il tipo wchar_t.

I tipi interi possono essere con segno (signed, numeri negativi e positivi) o senza segno (unsigned, solo positivi e zero). Includono short int, int, long int e long long int.

La dimensione esatta di un int dipende dall’architettura del tuo computer (solitamente 32 bit).

Un’enumerazione permette di definire un tipo associando dei nomi a valori interi costanti. Se non specifichi un valore, il primo elemento vale 0 e i successivi si incrementano di 1.

enum giorni { lun, mar, mer, gio, ven, sab, dom };
// lun vale 0, mar vale 1, e così via.

La parola chiave void significa “nessun valore”. Viene utilizzata in tre contesti principali:

  1. Come valore di ritorno di una funzione che non restituisce nulla (void funzione()).
  2. Nella lista degli argomenti per indicare che non accetta input (int main(void)).
  3. Come puntatore generico void * (un puntatore che punta a un indirizzo di memoria di cui non sappiamo ancora il tipo).

💻 Esercizio Pratico: Tipi fissi e dimensioni

Section titled “💻 Esercizio Pratico: Tipi fissi e dimensioni”

Verifica la dimensione in byte di vari tipi usando l’operatore sizeof.