Identificatori di tipo C
Gli identificatori di tipo nelle dichiarazioni definiscono il tipo di variabile o di dichiarazione di funzione.
Sintassi
identificatore del tipo:
voidchar
short
int
long
float
double
con segno
senza segno
struct-o-unione-identificatore
enum-identificatore
typedef-nome
signed char, intero con segno, short integer con segnoe int esteso con segno tipi, insieme al relativo unsigned controparti e enum, vengono denominati tipi “integrali„.float, doppioe long double gli identificatori di tipo viene fatto riferimento come al “e„ o “tipi a virgola mobile„.È possibile utilizzare qualsiasi tipo integrale o identificatore a virgola mobile del tipo in una variabile o dichiarazione di funzione.se a identificatore del tipo non viene fornito in una dichiarazione di, è necessario per essere int.
Le parole chiave facoltative con segno e unsigned può precedere o seguire uno dei tipi integrali, tranne enume può essere utilizzato da solo come identificatori di tipo, nel qual caso vengono riconosciute come intero con segno e unsigned int, rispettivamente.una volta utilizzato da solo, la parola chiave int si presuppone che sia con segno.Una volta utilizzato da solo, le parole chiave tempo e short vengono riconosciute come int lungo e short int.
i tipi di enumerazione sono considerati tipi di base.Gli identificatori di tipo per i tipi di enumerazione sono illustrati in dichiarazioni di enumerazione.
la parola chiave void dispone di tre usi: per specificare un tipo restituito dalla funzione, specificare un elenco di tipi di argomento per una funzione che non accetta argomenti e per specificare un puntatore a un tipo non specificato.È possibile utilizzare void tipo per dichiarare le funzioni che non restituiscono valori o per dichiarare un puntatore a un tipo non specificato.vedere argomenti per informazioni su void quando viene visualizzato da solo all'interno delle parentesi dopo il nome di una funzione.
Specifici di Microsoft
Il controllo dei tipi è ora ANSI-compiacente, pertanto il tipo short e tipo int sono i tipi distinti.Ad esempio, si tratta di una ridefinizione nel compilatore C Microsoft che è stato accettato da versioni precedenti del compilatore.
int myfunc();
short myfunc();
In questo esempio seguente viene anche generato un avviso su un riferimento indiretto a tipi diversi:
int *pi;
short *ps;
ps = pi; /* Now generates warning */
Il compilatore C di Microsoft inoltre genera gli avvisi per le differenze nel segno.Di seguito è riportato un esempio:
signed int *pi;
unsigned int *pu
pi = pu; /* Now generates warning */
tipo void le espressioni vengono valutate per gli effetti collaterali.Non è possibile utilizzare il valore (HTM) di un'espressione di tipo void in qualsiasi modo, né è possibile convertire un oggetto void l'espressione (da conversione implicita o esplicita) a qualsiasi tipo esclude void.Se si specifica un'espressione di qualsiasi altro tipo in un contesto in cui a void l'espressione è obbligatoria, il valore viene rimossa.
Per essere conforme alla specifica ANSI, void ** non può essere utilizzato come int **.Solo void* può essere utilizzato come puntatore a un tipo non specificato.
Microsoft FINALE specifico
È possibile creare gli identificatori aggiuntivi del tipo con typedef dichiarazioni, come descritto in Dichiarazioni typedef.vedere Archiviazione dei tipi di base per informazioni sulla dimensione di ciascun tipo.