Dichiaratori e dichiarazioni di 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, nelle sezioni rimanenti viene illustrato come dichiarare i seguenti elementi:
Il tipo di variabile |
Descrizione |
---|---|
Le variabili contenenti un singolo valore con tipo integrale o a virgola mobile |
|
Le variabili composte di una raccolta di elementi con lo stesso tipo |
|
Le variabili che puntano ad altre variabili e che contengono le posizioni delle variabili (sotto forma di indirizzi) invece dei valori |
|
Le variabili semplici con tipo integrale che contengono un valore derivante da un set di costanti Integer denominate |
|
Le variabili composte di una raccolta di valori che può contenere tipi differenti |
|
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 che deve essere introdotto nel programma. Può includere modificatori come * (puntatore-a) e qualsiasi parola chiave della convenzione di chiamata Microsoft.
Sezione specifica Microsoft
Nel dichiaratore
__declspec(thread) char *var;
char è l'identificatore di tipo, __declspec(thread) 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 opt direct-declaratordirect-declarator:
identifier( declarator )
direct-declarator [ constant-expression opt ]
direct-declarator ( parameter-type-list )
direct-declarator ( identifier-list opt )
pointer:
*****type-qualifier-list opt*****type-qualifier-list opt pointer
type-qualifier-list:
type-qualifiertype-qualifier-list type-qualifier
Nota
Vedere la sintassi per declaration nella sezione Cenni preliminari sulle dichiarazioni o in Riepilogo della sintassi del linguaggio C per informazioni sulla sintassi che fa riferimento a un 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 l'identificatore è seguito da parentesi tonde, il tipo viene modificato in un tipo di funzione. Per ulteriori informazioni sull'interpretazione della precedenza all'interno delle dichiarazioni, vedere Interpretazione dei 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 di elementi di un tipo di matrice, il tipo di oggetto indirizzato da un tipo 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 C Microsoft non limita il numero di dichiaratori che possono modificare un'operazione aritmetica, una struttura o un tipo di unione. Il loro numero è limitato solo dalla memoria disponibile.
Fine sezione specifica Microsoft