La forma de ocultar la información en un fichero fuente se realiza por medio del modificador static. Las variables y funciones con el modificador static no pueden ser accedidas directamente desde otro módulo. Las variables definidas dentro de las funciones como static tienen una existencia igual a las globales, pero sólo accesibles desde la función.
Nota: si una variable es estática no quiere decir que no sea modificable.
Son todas aquellas variables definidas fuera de cualquier función y precedidas de la palabra clave static. En cuanto al ámbito también es aplicable a funciones definidas como static.
Accesible directamente sólo desde las funciones definidas en su mismo fichero.
La misma que el programa.
Son todas aquellas variables definidas dentro de una función y precedidas de la palabra clave static.
Accesible solamente desde la función dentro de la que se define, sólo existe una copia para todos los ámbitos de las posibles llamadas recursivas.
La misma que el programa, no pierde su valor de llamada en llamada.
Para más información examine la ayuda sobre los tipos de variables en C según el tiempo de existencia y ámbito de acceso.
Son todas aquellas funciones precedidas de la palabra clave static.
Accesible directamente sólo desde las funciones definidas en su mismo fichero.
static int localFichero=0; /* Estática de fichero, puede ser accedida sólo por las funciones del fichero */ static int multiploOpuesto(int * a){ /* Función estática de fichero, accesible sólo para las funciones definidas en su mismo fichero */ int i=-1; /* Local a la función, se inicializa cada vez que se invoca a f */ static int numLlamadas=0; /* Estática de función, su valor no se pierde en cada ejecución */ localFichero++; *a=(*a)*localFichero*i; return ++numLlamadas; }