Identificatori in Linguaggio C

Un identificatore in linguaggio C è un'etichetta o nome simbolico che lo sviluppatore può assegnare a variabili, costanti, funzioni e così via. Gli identificatori sono utilizzati per identificare e accedere a queste entità all'interno di un programma.

In questa lezione ci concentreremo su quali regole seguire per la creazione di identificatori in linguaggio C e su quali parole chiave evitare di utilizzare come identificatori.

Identificatori

Quando realizziamo programmi in linguaggio C, spesso ci troviamo a dover assegnare dei nomi a variabili, costanti, funzioni e così via. Questi nomi sono chiamati identificatori.

In linguaggio C, un identificatore può contenere lettere, numeri e il carattere di sottolineatura o underscore _. La regola fondamentale, tuttavia, è che un identificatore non può iniziare con un numero.

Ecco alcuni esempi di identificatori validi:

  • numero
  • numero1
  • numero_1
  • _valore_

Ecco invece alcuni esempi di identificatori non validi:

  • 1numero
  • valore!
  • 10_volte
  • prossimo-elemento

In questi casi abbiamo che:

  • 1numero inizia con un numero;
  • valore! contiene un carattere non valido;
  • 10_volte inizia con un numero;
  • prossimo-elemento contiene un carattere non valido.
Definizione

Identificatori in Linguaggio C

In linguaggio C, un identificatore è un nome che viene assegnato a variabili, costanti, funzioni e così via.

Un identificatore può contenere lettere, numeri e il carattere di sottolineatura _, ma non può iniziare con un numero.

Un'altra importante caratteristica del linguaggio C è che esso è case-sensitive. Questo significa che le lettere maiuscole e minuscole sono considerate come caratteri distinti.

Per tal motivo gli identificatori seguenti sono considerati come diversi:

  • numero
  • Numero
  • NUMERO

Gli identificatori mostrati sopra sono considerati come tre identificatori distinti, per cui è possibile usarli per scopi diversi. Tuttavia, questa non è una buona pratica di programmazione, in quanto può portare a confusione.

Nota

Il linguaggio C è case-sensitive

Il linguaggio C è case-sensitive, per cui le lettere maiuscole e minuscole sono considerate come caratteri distinti.

Bisogna prestare attenzione a non usare identificatori simili con differenze solo di maiuscole e minuscole, in quanto ciò può portare a confusione e ad errori di programmazione.

Per il motivo esposto sopra, gli sviluppatori C preferiscono adottare delle convenzioni di scrittura del codice. Non si tratta di regole imposte dal linguaggio, ma piuttosto di linee guida che aiutano a rendere il codice più leggibile e manutenibile.

Ad esempio, per nominare le variabili si tende ad utilizzare lettere sempre minuscole, separate da un carattere di sottolineatura _ in caso di nomi composti. Per esempio:

  • numero_elementi
  • valore_massimo
  • numero_cicli

Questo stile di assegnamento di nomi prende il nome di snake_case.

Altri sviluppatori, invece, preferiscono utilizzare la cosiddetta notazione camelCase. In questo caso, la prima lettera di ogni parola, tranne la prima, è scritta in maiuscolo. Ad esempio:

  • numeroElementi
  • valoreMassimo
  • numeroCicli

Non esiste uno stile corretto. La scelta dipende dal programmatore e dalle linee guida adottate dal team di sviluppo. L'importante è mantenere uno stile uniforme all'interno del progetto.

Lo standard del linguaggio C non impone un limite massimo sulla lunghezza dei nomi degli identificatori. Di solito, il limite è imposto dallo specifico compilatore utilizzato. In ogni caso è sempre buona norma usare nomi il più possibile descrittivi, in modo da rendere il codice più chiaro e leggibile.

Ad esempio, l'identificatore numeroElementi è più chiaro e descrittivo rispetto a n.

Consiglio

Lunghezza degli Identificatori in Linguaggio C

Il linguaggio C non impone un limite massimo sulla lunghezza degli identificatori.

Tuttavia, è sempre buona norma usare nomi il più possibile descrittivi, in modo da rendere il codice più chiaro e leggibile.

Parole Chiave

In linguaggio C, alcuni identificatori hanno un significato speciale per i compilatori e non possono essere utilizzati come nomi di variabili, costanti o funzioni. Questi identificatori sono chiamati parole chiave o keyword e sono considerati riservati.

Di seguito è riportata la tabella delle parole chiave del linguaggio C. Non è importante ora memorizzarle tutte, ma è utile conoscerle per evitare di utilizzarle come nomi di variabili, costanti o funzioni.

Man mano che proseguiremo nello studio del linguaggio C, vedremo come utilizzare queste parole chiave in modo appropriato.

Parola Chiave Descrizione
auto Definisce una variabile locale
break Esce da un ciclo o da uno switch
case Etichetta per uno switch
char Definisce un carattere
const Definisce una costante
continue Salta alla prossima iterazione di un ciclo
default Etichetta di default per uno switch
do Inizia un ciclo do-while
double Definisce un numero a virgola mobile
else Parte di un'istruzione if-else
enum Definisce un tipo enumerato
extern Definisce una variabile esterna
float Definisce un numero a virgola mobile
for Inizia un ciclo for
goto Salta a una posizione specifica nel codice
if Inizia un'istruzione if
inline Specifica una funzione inline in C99
int Definisce un intero
long Definisce un intero lungo
register Definisce una variabile su un registro
restrict Specifica che un puntatore è ristretto in C99
return Restituisce un valore da una funzione
short Definisce un intero breve
signed Definisce un intero con segno
sizeof Restituisce la dimensione di un tipo
static Definisce una variabile statica
struct Definisce una struttura
switch Inizia un'istruzione switch
typedef Definisce un tipo di dati
union Definisce un'unione
unsigned Definisce un intero senza segno
void Definisce un tipo vuoto
volatile Specifica che una variabile può essere modificata da un processo esterno
while Inizia un ciclo while
_Bool Definisce un tipo booleano in C99
_Complex Definisce un tipo complesso in C99
_Imaginary Definisce un tipo immaginario in C99
Tabella 1: Tabella delle parole chiave del linguaggio C.
Definizione

Parole Chiave in Linguaggio C

Le parole chiave sono identificatori riservati che hanno un significato speciale per i compilatori e non possono essere utilizzati come nomi di variabili, costanti o funzioni.

Dal momento che il linguaggio C è case-sensitive, le parole chiave devono essere utilizzate esattamente come mostrato nella tabella. Ad esempio, if è una parola chiave, mentre IF o If non lo sono.

Consiglio

Evitare di usare identificatori simili alle parole chiave

Un consiglio molto importante è quello di evitare, nello sviluppo dei programmi, di adoperare come identificatori nomi simili alle parole chiave ma con lettere maiuscole o minuscole diverse.

Ad esempio, evitare di utilizzare WHILE o If come identificatori, in quanto potrebbero creare confusione con le parole chiave while e if.

In Sintesi

In questa lezione abbiamo approfondito il concetto di identificatori in linguaggio C. Gli identificatori sono nomi che vengono assegnati a variabili, costanti, funzioni e così via.

Abbiamo visto che un identificatore può contenere lettere, numeri e il carattere di sottolineatura _, ma non può iniziare con un numero. Inoltre, il linguaggio C è case-sensitive, per cui le lettere maiuscole e minuscole sono considerate come caratteri distinti.

Infine, abbiamo presentato le parole chiave del linguaggio C, che sono identificatori riservati con un significato speciale per i compilatori. È importante evitare di utilizzarle come nomi di variabili, costanti o funzioni.

In generale, è buona norma adottare uno stile uniforme nella scrittura degli identificatori, in modo da rendere il codice più leggibile e manutenibile.