C/Visual C - Mariano Di Maggio

 
Vista:

Mariano Di Maggio

Publicado por Mariano Di Maggio (1 intervención) el 13/11/2002 16:48:20
hola gente, como va!!!
una simple pregunta, para que se utiliza esta definicion de funcion:
static int hola_mundo(void);
por que static, si alguien me puede ayudar se lo agradesco muchisimo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Mariano Di Maggio

Publicado por El Mogur (202 intervenciones) el 13/11/2002 19:44:40
Si te refieres a utilizarlo para declarar una función fuera de una clase, es decir una función 'global', es una característica 'deprecated' que tenía en C, y que en C++ desaconsejan.
Se puede utilizar para indicar que una función o un objeto es local a un fichero. Por ejemplo:

// Fichero1:
static int f();

// Fichero2
static int f();

Estos dos ficheros pueden ser compilados y se enlazan sin errores, y tienen dos funciones 'globales' con el mismo nombre. Cada una se utiliza únicamente dentro de los ficheros donde están.
En C++ debe utilizarse los namespaces... al menos eso aconesjan.

Espero que te sirva!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Mariano Di Maggio

Publicado por Eric (1 intervención) el 18/11/2002 02:33:13
Las variables de tipo Static se inicializan una sola vez en las funciones...

Por ejemplo:

void hola_mundo( )
{
static int x;
x=0;
x++;
}

main( )
{
hola_mundo;
hola_mundo;
}

Lo que hace la función principal es llamar a la función hola_mundo dos
veces, pero la primera ves que entra declara la variable x; y la inicializa en cero, la incrementa en uno y termina la función...

Cuando la función es llamada otra vez, en lugar de declarar nuevamente la variable (como ocurre comunmente) lo pasapor alto, tomando el valor que ya "traía"...

Me gustaría que te pusieras en contacto conmigo, me gusta programar en C, a ver en qué nos podemos ayudar...

[email protected]

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar