# Revisione dei Token C
Nella programmazione C, i token sono i più piccoli elementi individuali che compongono un programma. Ecco una revisione completa dei token C:
## 1. Parole chiave
Queste sono parole riservate con un significato speciale per il compilatore:
```c
auto break case char const continue
default do double else enum extern
float for goto if int long
register return short signed sizeof static
struct switch typedef union unsigned void
volatile while _Bool _Complex _Imaginary
```
## 2. Identificatori
Nomi dati a variabili, funzioni, array, ecc.:
- Regole:
- Deve iniziare con una lettera o un trattino basso
- Può contenere lettere, cifre, trattini bassi
- Sensibile al maiuscolo/minuscolo
- Non può essere una parola chiave
## 3. Costanti/Literal
Valori fissi che non cambiano:
- Intero: `123`, `-456`, `0x1A` (esadecimale), `0123` (ottale)
- Punto mobile: `3.14`, `-0.5e-10`
- Carattere: `'a'`, `'\n'`, `'\x41'`
- Stringa: `"Ciao"`, `"Linea 1\nLinea 2"`
## 4. Operatori
Simboli che eseguono operazioni:
- Aritmetici: `+`, `-`, `*`, `/`, `%`, `++`, `--`
- Relazionali: `==`, `!=`, `>`, `<`, `>=`, `<=`
- Logici: `&&`, `||`, `!`
- Bitwise: `&`, `|`, `^`, `~`, `<<`, `>>`
- Assegnazione: `=`, `+=`, `-=`, ecc.
- Varie: `sizeof()`, `&` (indirizzo), `*` (puntatore), `?:` (ternario)
## 5. Simboli Speciali
- Parentesi: `[]` (array), `{}` (blocchi), `()` (funzioni)
- Punteggiatura: `,`, `;`, `:`, `#` (preprocessore)
## 6. Commenti
Non sono tecnicamente token (rimossi durante il preprocessing), ma importanti:
```c
// Commento su una riga
/* Commento su più righe
*/
```
## Esempi di Token
```c
#include <stdio.h> // '#' e '<stdio.h>' sono token
int main() { // 'int', 'main', '(', ')', '{' sono token
int x = 10; // 'int', 'x', '=', '10', ';' sono token
printf("%d", x);// 'printf', '(', '"%d"', ',', 'x', ')', ';'
return 0; // 'return', '0', ';'
} // '}' è un token
```
Comprendere questi token è fondamentale per scrivere e leggere il codice C in modo efficace.