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

direct-declarator:
  identifier
  ( declarator )
  direct-declarator [ constant-expressionopt ]
  direct-declarator ( parameter-type-list )
  direct-declarator ( identifier-listopt )

pointer:
  \* type-qualifier-listopt
  \* type-qualifier-listopt pointer

type-qualifier-list:
  type-qualifier
  type-qualifier-list type-qualifier

Nota

Vedere la sintassi per declaration in Cenni preliminari sulle dichiarazioni o Riepilogo di sintassi del linguaggio C per informazioni sulla sintassi che fa riferimento a 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 altre informazioni sull'interpretazione della precedenza all'interno delle dichiarazioni, vedere Interpretazione di più dichiaratori 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

Vedere anche

Dichiarazioni e tipi