Concetti Chiave

  • Il riutilizzo degli identificatori in C è regolato dallo namespace e dallo scope, vietando lo stesso identificatore nello stesso namespace e scope.
  • È possibile usare lo stesso identificatore in scope diversi, dove quello interno maschera l'identificatore esterno dichiarato.
  • Lo namespace in C comprende diverse classi, come tag di struct, union, enum, e identificatori di variabili e funzioni.
  • Le classi di visibilità degli identificatori in C sono: a livello di file, a livello di funzione, a livello di prototipo di funzione e a livello di blocco.
  • Le label sono l'unico tipo di identificatore con visibilità a livello di funzione nel linguaggio C.

Regole di riutilizzo degli identificatori

Le regole che ci consentono di riusare un identificatore in un programma dipendono dallo namespace e dallo scope degli identificatori. Infatti secondo le regole utilizzate nel linguaggio di programmazione del C:

- Non si riusa lo stesso identificatore nello stesso namespace e scope

- Nello stesso scope, si può usare lo stesso identificatore se questo e usato in namespace diversi

- In scope diversi, si può usare lo stesso identificatore dichiarato in qualche scope pià esterno, quello più interno maschera localmente quello esterno

Namespace nel linguaggio C

Lo Namespace (spazio dei nomi) è l’insieme di classi in cui sono suddivisi i tipi di identificatore, in C le classi di namespace sono:

- tag di struct, union e enum

- campi di struct e union, in cui ognuno ha un namespace diverso

- label per il goto

- identificatori di variabili, funzioni, costanti enumerative e tipi

- (macro e argomenti delle macro)

Visibilità degli identificatori

Un identificatore, come le variabili e visibile nella regione di programma in cui dichiarato, ci sono quindi quattro classi di visibilità, ovvero la parte di codice in cui è valido il riferimento tra nome della variabile e indirizzo di memoria

- A livello di file

- A livello di funzione (le label sono gli unici con visibilita a livello di funzione)

- A livello di prototipo di funzione

- A livello di blocco


Domande da interrogazione

  1. Quali sono le regole fondamentali per il riutilizzo degli identificatori nel linguaggio C?
  2. Le regole per il riutilizzo degli identificatori nel C dipendono dallo namespace e dallo scope. Non si può riutilizzare lo stesso identificatore nello stesso namespace e scope, ma è possibile farlo in namespace diversi all'interno dello stesso scope e in scope diversi, dove l'identificatore più interno maschera quello esterno.

  3. Che cos'è uno namespace nel linguaggio C e quali sono le sue classi?
  4. Lo namespace è l'insieme di classi in cui sono suddivisi i tipi di identificatore nel C. Le classi di namespace includono tag di struct, union e enum, campi di struct e union, label per il goto, identificatori di variabili, funzioni, costanti enumerative e tipi, oltre a macro e argomenti delle macro.

  5. Quali sono le classi di visibilità degli identificatori nel linguaggio C?
  6. Le classi di visibilità degli identificatori nel C comprendono: a livello di file, a livello di funzione (solo per le label), a livello di prototipo di funzione e a livello di blocco, determinando così dove un identificatore è valido nel codice.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community