Dichiaratori e dichiarazioni delle variabili
Nel resto di questa sezione viene descritto il formato e il significato delle dichiarazioni dei tipi di variabile contenuti in questo elenco. In particolare, le sezioni rimanenti illustrano come dichiarare:
Il tipo di variabile | Descrizione |
---|---|
Variabili semplici | Le variabili contenenti un singolo valore con tipo integrale o a virgola mobile |
Matrici | Le variabili composte di una raccolta di elementi con lo stesso tipo |
Puntatori | Le variabili che puntano ad altre variabili e che contengono le posizioni delle variabili (sotto forma di indirizzi) invece dei valori |
Variabili di enumerazione | Le variabili semplici con tipo integrale che contengono un valore derivante da un set di costanti Integer denominate |
Strutture | Le variabili composte di una raccolta di valori che può contenere tipi differenti |
Unioni | Le variabili composte di diversi valori di tipi differenti che occupano lo stesso spazio di archiviazione |
Un dichiaratore è la parte di una dichiarazione che specifica il nome da introdurre nel programma. Può includere modificatori come *
(puntatore-a) e qualsiasi parola chiave della convenzione di chiamata Microsoft.
Sezione specifica Microsoft
In questo dichiaratore,
__declspec(thread) char *var;
char
è l'identificatore __declspec(thread)
di tipo e *
sono i modificatori e var
è il nome dell'identificatore.
Fine sezione specifica Microsoft
È possibile utilizzare i dichiaratori per dichiarare le matrici di valori, i puntatori a valori e le funzioni che restituiscono i valori di un tipo specificato. I dichiaratori sono presenti nella matrice e nelle dichiarazioni del puntatore descritte più avanti in questa sezione.
Sintassi
declarator
:
pointer
optare direct-declarator
direct-declarator
:
identifier
(
declarator
)
direct-declarator
[
constant-expression
optare ]
direct-declarator
(
parameter-type-list
)
direct-declarator
(
identifier-list
optare )
pointer
:
*
type-qualifier-list
optare
*
type-qualifier-list
optare pointer
type-qualifier-list
:
type-qualifier
type-qualifier-list
type-qualifier
Nota
Vedere la sintassi per declaration
in Panoramica delle dichiarazioni o del riepilogo della sintassi del linguaggio C per la sintassi che fa riferimento a un oggetto declarator
.
Quando un dichiaratore è costituito da un identificatore non modificato, l'elemento dichiarato è un tipo di base. Se a sinistra di un identificatore è presente un asterisco (*
), il tipo viene impostato su un tipo puntatore. Se l'identificatore è seguito da parentesi quadre ([ ]
), il tipo viene modificato in un tipo di matrice. Se le parentesi seguono l'identificatore, il tipo viene modificato in un tipo di funzione. Per altre informazioni sull'interpretazione della precedenza all'interno delle dichiarazioni, vedere Interpretazione di dichiaratori più complessi.
Ogni dichiaratore dichiara almeno un identificatore. Per essere una dichiarazione completa, il dichiaratore deve includere un identificatore di tipo. L'identificatore di tipo fornisce: il tipo degli elementi di un tipo di matrice, il tipo di oggetto indirizzato da un tipo di puntatore o il tipo restituito di una funzione.
Le dichiarazioni delle matrici e dei puntatori sono descritte in modo più dettagliato più avanti in questa sezione. Negli esempi seguenti sono illustrati alcuni semplici formati di dichiaratori:
int list[20]; // Declares an array of 20 int values named list
char *cp; // Declares a pointer to a char value
double func( void ); // Declares a function named func, with no
// arguments, that returns a double value
int *aptr[10]; // Declares an array of 10 pointers
Sezione specifica Microsoft
Il compilatore Microsoft C non limita il numero di dichiaratori che possono modificare un tipo aritmetico, struttura o unione. Il loro numero è limitato solo dalla memoria disponibile.
Fine sezione specifica Microsoft