Funzioni in C ( e nella maggior parte qualsiasi altro linguaggio di programmazione ) sono parte integrante di sviluppare e mantenere una sorta di complesso progetto di codifica . Funzioni Nome blocchi di codice che eseguono un certo compito , che può essere chiamato e usate da riferimento il nome della funzione . In programmazione C , le funzioni possono eseguire tradizionalmente o funzioni inline , a seconda di come il programmatore definisce la funzione . Per comprendere le funzioni inline statici , il programmatore dovrebbe capire come funzioni inline confronta con funzioni regolari . Definizioni di funzioni
Quando un programmatore definisce una funzione , lo fa a definire un blocco di codice in un punto. Spesso , il codice della funzione viene utilizzata ripetutamente , o esegue un compito complesso e che il programmatore può decidere di modificare o cambiare in futuro . Il programmatore può quindi fare riferimento a tale funzione in tutto il programma utilizzando il relativo nome . Questo permette il riutilizzo del codice nello stesso programma o in più programmi . L' esempio seguente mostra una funzione di base
int myFunc ( ) per
{
ritorno 2 +3 ;
} .
Inline funzioni
Quando le funzioni vengono chiamate in tutta programmi, tuttavia , codice speciale deve essere scritto dal compilatore per fare riferimento alla funzione . Questo perché il codice funzione risiede nella memoria in un luogo specifico , distinto da altro codice in esecuzione. In sostanza , questo significa che il codice di esecuzione deve passare a una posizione di memoria diversa , eseguire il codice della funzione , e poi tornare indietro al codice originale . Per ottimizzare la velocità , C include la parola chiave "in linea" , che dice al compilatore di copiare il codice della funzione nel codice in esecuzione , quando il nome della funzione viene chiamata , piuttosto che ottenere il codice funzione dalla memoria .
< Br >
Inline funzioni statiche
Una funzione "statico" indica al compilatore che altri file di programma non possono vedere o accedere alla funzione. Solo altre funzioni dallo stesso file possono vedere una funzione statica . Pertanto , per dichiarare una funzione locale solo al file il programmatore definisce in , e ottimizzato per la velocità di esistere come una funzione inline , un programmatore potrebbe utilizzare le parole chiave " statiche " e "in linea" per definire le funzioni , come in questo esempio .
static inline vuoto myFunc ( ) {
/* codice * /
Esempi
Utilizzando le funzioni inline statiche consente a più file C per utilizzare gli stessi nomi di funzione in tutto più file . Per esempio , prendere in considerazione questi due esempi di funzioni . La prima funzione esiste in " one.h " e la seconda in " two.h. " Perché le funzioni sono statici , non entreranno in conflitto quando la funzione viene chiamata in un file o in un altro . Inoltre , il compilatore inserire il codice per ogni funzione direttamente nel codice in esecuzione , piuttosto che fa riferimento a una funzione di memoria .
//Da one.h
static inline vuoto myFunc ( ) {
/* codice * /
}
//da two.h
static inline vuoto myFunc ( ) {
/* codice * /
}