statico determina la visibilità al di fuori di una funzione o una vita di variabili all'interno. Quindi non ha nulla a che fare con cost di per sé.
const significa che non si modifica il valore dopo l'inizializzazione.
statico all'interno di una funzione indica che la variabile esiste prima e dopo la fine della funzione.
statico all'esterno di una funzione significa che l'ambito del simbolo contrassegnato come statico è limitato a tale file .c e non può essere visto al di fuori di esso.
Tecnicamente (se si desidera cercare questo), static è uno specificatore di memoria e const è un qualificatore di tipo.
@EtiennedeMartel "static è il comportamento predefinito" Certamente no. Qualunque cosa ti ha dato questa idea? –
Correlato: http://stackoverflow.com/questions/6381088/const-vs-static-const – halex
Votato per la riapertura. Il "duplicato" sta facendo una domanda completamente diversa, specifica per l'utilizzo della memoria. Questa domanda pone una domanda più generale sulla differenza. – rmaddy