Cenni preliminari sulle dichiarazioni
Una “dichiarazione„ specifica l'interpretazione e gli attributi di un set di identificatori.Una dichiarazione che anche determina l'archiviazione a essere riservata all'oggetto o alla funzione denominata dall'identificatore è denominata “una definizione.„ Le dichiarazioni di C# per le variabili, le funzioni e i tipi dispongono di questa sintassi:
Sintassi
declaration:
init-dichiaratore-elenco di dichiarazione-identificatoriscegliere**;**dichiarazione-identificatori:
archiviazione-classe-identificatore attributo-seguente sceglieredichiarazione-identificatori scegliere
/* attributo-seguente scegliere è Microsoft specifico */
dichiarazione-identificatori dell'tipo-identificatore scegliere
dichiarazione-identificatori di tipo-qualificatore scegliere
init-dichiaratore-elenco:
init-dichiaratoreinit-dichiaratore-elenco , init-dichiaratore
init-dichiaratore:
dichiaratoredichiaratore = inizializzatore
[!NOTA]
questa sintassi per declaration non viene ripetuto nelle sezioni seguenti.La sintassi nelle sezioni seguenti in genere inizia con declarator non terminal.
le dichiarazioni in init-dichiaratore-elenco contenere gli identificatori che sono denominati; init è un'abbreviazione per l'inizializzatore.init-dichiaratore-elenco è una sequenza delimitata da virgole di dichiaratori, ognuno dei quali possono includere informazioni aggiuntive sul tipo, o di inizializzatore, o entrambe.declarator contiene gli identificatori, se presente, è necessario dichiarare.dichiarazione-identificatori non terminal è costituito da una sequenza di identificatori di classe di archiviazione e che riportino il collegamento, la durata di archiviazione e almeno una parte del tipo di entità che i dichiaratori scegliere.Di conseguenza, le dichiarazioni sono costituiti da una combinazione di identificatori di classe di archiviazione, digitare gli identificatori, i qualificatori del tipo, i dichiaratori e gli inizializzatori.
Le dichiarazioni possono contenere uno o più degli attributi facoltativi riportati in attributo-seguente; seguente è un'abbreviazione per la sequenza.Questi attributi specifici microsoft eseguono numerose funzioni, che sono illustrate dettagliatamente in questo libro.per un elenco di questi attributi, vedere Riepilogo della sintassi del linguaggio C.
Il formato generico di una dichiarazione di variabile, identificatore del tipo fornisce il tipo di dati della variabile. identificatore del tipo può essere un insieme, ad esempio quando il tipo viene modificato da const o volatile.declarator fornisce il nome della variabile, probabilmente modificato per dichiarare una matrice o un tipo puntatore.Di seguito è riportato un esempio:
int const *fp;
dichiara una variabile denominata fp come puntatore a un oggetto non modificabile (const) int valore.È possibile definire più di uno variabile in una dichiarazione utilizzando i dichiaratori più, separati da virgole.
Una dichiarazione deve disporre di almeno un dichiaratore, o il relativo identificatore di tipo deve dichiarare un tag della struttura, il tag di unione, o i membri di enumerazione.I dichiaratori forniscono tutte le informazioni rimanenti su un identificatore.Un dichiaratore è un identificatore che può essere modificato con le parentesi ([]), (asterischi*****), o parentesi () () ) per dichiarare una matrice, un puntatore, o un tipo di funzione, rispettivamente.Quando si dichiarano variabili semplici (come carattere, Integer e gli elementi a virgola mobile, oppure strutture e unioni delle variabili semplici, declarator è semplicemente un identificatore.per ulteriori informazioni sui dichiaratori, vedere Dichiaratori e dichiarazioni delle variabili.
Tutte le definizioni sono implicitamente dichiarazioni, ma non tutte le dichiarazioni sono le definizioni.Ad esempio, dichiarazioni delle variabili che iniziano con extern identificatore classe di archiviazione “fa riferimento a,„ anziché “definendo„ dichiarazioni.Se una variabile esterna deve fare riferimento a prima che sia definita, o se è definita in un altro file di origine da quello in cui viene utilizzata, extern la dichiarazione è necessaria.L'archiviazione non viene allocata “facendo riferimento a„ dichiarazioni, né alle variabili essere inizializzate nelle dichiarazioni.
Una classe di archiviazione o un tipo (o entrambi) è obbligatorio nelle dichiarazioni delle variabili.Eccetto __declspec, solo a un identificatore classe di archiviazione è consentita in una dichiarazione e non tutti gli identificatori di classe di archiviazione sono consentiti in ogni contesto.__declspec la classe di archiviazione è consentita con altri identificatori di classe di archiviazione ed è consentita più di uno volta.L'identificatore di classe di archiviazione di influenza di una dichiarazione come elemento dichiarato è archiviato e inizializzato e quali parti di un programma possono fare riferimento all'elemento.
archiviazione-classe-identificatore i terminal definiti in C# comprendono autoidentificatori, extern, il registro, staticoe typedef.Inoltre, Microsoft C include archiviazione-classe-identificatore terminale __declspec.tutti archiviazione-classe-identificatore i terminal esclusi typedef e __declspec vengono trattati in classi di archiviazione.vedere Dichiarazioni typedef per informazioni su typedef.vedere Attributi estesi di classe di archiviazione per informazioni su __declspec.
Il percorso della dichiarazione nel programma di origine e la presenza o l'assenza di altre dichiarazioni delle variabili è fattori principali della determinazione della durata delle variabili.Può essere redeclarations più ma una sola definizione.Tuttavia, una definizione può apparire in più unità di conversione.Per gli oggetti con collegamento interno, questa regola si applica esclusivamente a ogni unità di conversione, poiché gli oggetti internamente collegati sono univoci per unità di conversione.Per gli oggetti con collegamento esterno, questa regola si applica al programma intero.vedere Durata, ambito, visibilità e collegamento per ulteriori informazioni sulla visibilità.
Gli identificatori di tipo forniscono informazioni sui tipi di dati di identificatori.L'identificatore del tipo predefinito è int.Per ulteriori informazioni, vedere digitare gli identificatori.Gli identificatori di tipo possono inoltre definire i tag del tipo, i nomi di componenti di unione e della struttura e le costanti di enumerazione.Per ulteriori informazioni vedere dichiarazioni di enumerazione, Dichiarazioni di strutturae Dichiarazioni di unione.
Esistono due tipo-qualificatore terminali: const e volatile.I qualificatori specificano le proprietà aggiuntive dei tipi attinenti solo durante l'accesso agli oggetti di tale tipo con i valori l-value solo.per ulteriori informazioni su const e volatile, vedere digitare i qualificatori.Per una definizione di valori l-value solo, vedere Espressioni di r-value e l-value.