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:
pointeroptare direct-declarator

direct-declarator:
identifier
( declarator )
direct-declarator[ constant-expressionoptare ]
direct-declarator ( parameter-type-list )
direct-declarator( identifier-listoptare )

pointer:
*type-qualifier-listoptare
*type-qualifier-listoptare 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

Vedi anche

Dichiarazioni e tipi