ciao,
ho visto che in alcuni sorgenti la parola static è usata anche nella dichiarazione di funzioni. Cos'è una funzione static?
grazie
ciao,
ho visto che in alcuni sorgenti la parola static è usata anche nella dichiarazione di funzioni. Cos'è una funzione static?
grazie
Le funzioni static sono funzioni private al file in cui sono dichiarate e definite. Ovvero possono essere utilizzate solo dal main (o da altre funzioni) all'interno del file. Funzioni definite in altri file non saranno invece in grado di utilizzarle.Originariamente inviato da matteolandi
ciao,
ho visto che in alcuni sorgenti la parola static è usata anche nella dichiarazione di funzioni. Cos'è una funzione static?
grazie
L'attributo static in C ha diversi significati... Prova a dare un'occhiata on line...
TNX
... si ma in quali casi può essere conveniente definire static una funzione in modo che altri file non siano in grado di utilizzarle?
Ad esempio potresti voler fare in modo che ogni file di un progetto abbia al suo interno una funzione privata chiamata "sort(...)" la quale ha una specifica implementazione a seconda del file in cui si trova. Pertanto vorresti che tale funzione privata fosse usata esclusivamente all'interno del file. Mettendo l'attributo static sei "sicuro" che ogni chiamata dall'esterno ad una eventuale funzione con lo stesso nome (sort(...)) non vada a richiamare quella che tu hai caratterizzato, appunto, con l'attributo static.Originariamente inviato da matteolandi
... si ma in quali casi può essere conveniente definire static una funzione in modo che altri file non siano in grado di utilizzarle?