Espressioni costanti c
Un'espressione costante viene valutata in fase di compilazione, il runtime e può essere utilizzato in qualsiasi punto in cui una costante può essere utilizzata.L'espressione costante deve restituire una costante che sia compreso nell'intervallo di valori rappresentabili per quel tipo.Gli operandi di un'espressione costante possono essere costanti Integer, le costanti carattere, costanti a virgola mobile, costanti di enumerazione, cast di tipo, sizeof espressioni e altre espressioni costanti.
Sintassi
espressione costante:
espressione condizionaleespressione condizionale:
logico-O-espressionelogico-O-espressione**?** espressione**:** espressione condizionale
espressione:
espressione di assegnazioneespressione**,** espressione di assegnazione
espressione di assegnazione:
espressione condizionaleespressione di assegnazione dell'operatore di assegnazione di unario-espressione
operatore di assegnazione: uno di
= *=/= %= += - = ^= DEL &= OF <<= >>= |=
I i non terminal per il dichiaratore di strutture, l'enumeratore, il dichiaratore diretto, il dichiaratore diretto-astratto e l'istruzione contrassegnato contengono espressione costante non terminal.
Un'espressione costante integrale deve essere utilizzata per specificare la dimensione di un membro del campo di bit di una struttura, il valore di una costante di enumerazione, la dimensione di una matrice, o del valore di un oggetto evento costante.
Le espressioni costanti utilizzate nelle direttive per il preprocessore è soggetto alle restrizioni aggiuntive.Di conseguenza, sono noti come “espressioni costanti sono limitate.„ un'espressione costante limitata non può contenere sizeof espressioni, costanti di enumerazione, cast di tipo su qualsiasi tipo, o costanti di mobile-tipo.può, tuttavia, contenere l'espressione costante speciale defined (identificatore).