Globales

Un tip muy importante con las variables globales 

Empecemos con el ejemplo:

#include <stdio.h>

int mivariable=1;

void llamafuncion() {
int mivariable = 2;
return;
}

int main(){
llamafuncion();
printf("Valor: %d \n", mivariable);
return 1;
}

En resultado del anterior programa es el siguiente:

$ gcc -o variables variables.c
$ ./variables
Valor: 1

La parte interesante de este ejemplo es que el compilador no genera ningun warning.

En realidad el error es del programador, pues mivariable ya está declarada y no debería redeclararse en la función llamafuncion(). Lo mismo para en C++ para miembros de la clase:

class MySimpleClass {
public:
int miVariable;
void changeVar() {
int miVariable = 2; // NOTE: this won't affect the class' variable!
}
void changeVar2() {
miVariable = 3; //This WILL change the class' variable.
}
};

El compilador tampoco genera warning.


[Regresar]