2013-06-25 20 views
14

Esiste una preferenza/convenzione/regola all'ordine per la definizione di una variabile come static e long/double o altri tipi?Ordine dei tipi di definizione

ad es. è

static double a; 

stessa

double static a; 

è diverso per funzioni? sopra, a è variabile.

+7

significano la stessa cosa. La prima versione è estremamente più comune (nella mia esperienza). Ma alla fine è solo una questione di stile. –

+0

Sono gli stessi, ma 'double static a' dà' warning: 'static' non è all'inizio della dichiarazione [-Wold-style-declaration] 'con il flag' -W' su –

+0

No. Hai solo bisogno di avere il nome della variabile scorso. Lo stesso con firmato/non firmato, puoi metterli in qualsiasi ordine. C'era una domanda qui prima, oggi o ieri, con una grande risposta in esso. Ecco qui: http://stackoverflow.com/questions/17287957/is-long-unsigned-as-valid-as-unsigned-long-in-c – enhzflep

risposta

21

Sono equivalenti ma static all'inizio è preferito.

(C99, 6.11.5p1) "Il posizionamento di uno storage di classe specificatore altro rispetto all'inizio degli specificatori dichiarazione in una dichiarazione è una funzione obsoleta"

Problemi correlati