Ejemplo de alcance
¿Has encontrado un error? ¿Tienes la solución? Deja tu correción ;-)
Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML.
Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos
fueron realizados por estudiante con únicamente conocimiento básico del lenguaje, no de programación.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 | #include <stdio.h>
void usoLocal( void ); /* prototipo de función */
void usoStaticLocal( void ); /* prototipo de función */
void usoGlobal( void ); /* prototipo de función */
int x = 1; /* variable global */
/* la función main comienza la ejecución del programa */
int main(){
int x = 5; /* variable local a main */
printf("x local fuera del alcance de main es %dn", x );
{ /* comienza el nuevo alcance */
int x = 7; /* variable local con nuevo alcance */
printf( "x local en el alcance interno de main es %dn", x );
} /* fin de nuevo alcance */
printf( "x local en el alcance externo de main es %dn", x );
usoLocal(); /* usoLocal contiene a automatic local x */
usoStaticLocal(); /* usoStaticLocal contiene a static local x */ usoGlobal(); /* usoGlobal utiliza global x */
usoLocal(); /* usoLocal reinicializa automatic local x */
usoStaticLocal(); /* static local x retiene su valor previo */
usoGlobal(); /* x global también retiene su valor */
printf( "nx local en main es %dn", x );
return 0; /* indica terminación exitosa */
} /* fin de main */
/* usoLocal reinicializa a la variable local x durante cada llamada */
void usoLocal( void )
{
int x = 25; /* se inicializa cada vez que se llama usoLocal */
printf( "nx local en usoLocal es %d después de entrar a usoLocaln", x );
x++;
printf( "x local en usoLocal es %d antes de salir de usoLocaln", x );
} /* fin de la función usoLocal */
/* usoStaticLocal initializa la variable static local x sólo la primera vez
que se invoca a la función; el valor de x se guarda entre las llamadas a esta
función */
void usoStaticLocal( void ){
/* se inicializa sólo la primera vez que se invoca usoStaticLocal */
static int x = 50;
printf( "nlocal static x es %d al entrar a usoStaticLocaln", x ); x++;
printf( "local static x es %d al salir de usoStaticLocaln", x );
} /* fin de la función usoStaticLocal */
/* la función usoGlobal modifica la variable global x durante cada llamada */void usoGlobal( void )
{
printf( "nx global es %d al entrar a usoGlobaln", x );
x *= 10;
printf( "x global es %d al salir de usoGlobaln", x );} /* fin de la función usoGlobal */ |
Punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:
- Si es lenguaje C <code lang="c">Código en C</code>
- Si es lenguaje Pascal <code lang="pascal">Aquí dentro el código de Pascal</code>.
De esta manera el código coloreas el código.
Deja un comentario