[c] globale variabele ?!?

Pagina: 1
Acties:

  • Daniel304
  • Registratie: December 2000
  • Laatst online: 14-08 14:02
IS het mogelijk om een globale variabele te gebruiken die overal in het programma op te vragen is zonder dat je hem expliciet meegeeft.. zelf zat ik te denken aan een combinatie met een
#if defined
maar ik heb geen idee hoe ik dat voor elkaar moet krijgen...

  • The End
  • Registratie: Maart 2000
  • Laatst online: 07:04

The End

!Beginning

in je headerfile zet je:

extern int GlobalVariable; (voor int zet je neer wat je wil en voor GlobalVariable ook)

en in je c file zet je:

int GlobalVariable;

  • Daniel304
  • Registratie: December 2000
  • Laatst online: 14-08 14:02
als ik dit doe
---header---
code:
1
extern int trying

---main---
code:
1
2
3
4
5
6
7
8
9
10
11
12
#includes bla.....
#include header.h

int main(void){
  int trying = 2;
  show();
  return 0;
}

void show(void){
printf("the waarde van trying is: %d",trying);
}

dan zou dat toch moeten werken ?!?

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02-09 19:44

Gerco

Professional Newbie

Op woensdag 12 juni 2002 11:30 schreef Daniel304 het volgende:
int main(void){
int trying = 2;
...
}
Nee, want je declareert nu een NIEUWE int trying in de scope van main(). Die verliest buiten die scope dan ook meteen zn betekenis.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Daniel304
  • Registratie: December 2000
  • Laatst online: 14-08 14:02
dus moet je eigenlijk doen??
code:
1
2
3
int main(void){
   trying = 2;
}

dit geeft bij mij een fout melding !!!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 00:52
Je moet hem nog definieren, je hebt hem alleen gedeclareerd met dat extern statement.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02-09 19:44

Gerco

Professional Newbie

Op woensdag 12 juni 2002 11:37 schreef Daniel304 het volgende:
dus moet je eigenlijk doen??
Geen flauw idee, ik heb nog nooit een globale variabele gebruikt in C. Ik heb C nooit echt ergens voor gebruikt dan broddelwerk en spielerij eigenlijk.

Ik gok dat je buiten je main nog een int trying; moet plaatsen.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Daniel304
  • Registratie: December 2000
  • Laatst online: 14-08 14:02
dus......
---header---
code:
1
2
int trying;
extern int trying;

---main---
code:
1
2
3
4
5
6
7
8
9
10
11
#includes bla.....
#include header.h
int main(void){
  trying = 2;
  show();
  return 0;
}

void show(void){
  printf("the waarde van trying is: %d",trying);
}

  • The End
  • Registratie: Maart 2000
  • Laatst online: 07:04

The End

!Beginning

Op woensdag 12 juni 2002 11:42 schreef Daniel304 het volgende:
dus......
---header---
code:
1
2
int trying;
extern int trying;

---main---
code:
1
2
3
4
5
6
7
8
9
10
11
#includes bla.....
#include header.h
int main(void){
  trying = 2;
  show();
  return 0;
}

void show(void){
  printf("the waarde van trying is: %d",trying);
}
neeeeeeeeeeeeeee :)

---header---
code:
1
extern int trying;

---main---
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#includes bla.....
#include header.h

int trying;

int main(void){
  trying = 2;
  show();
  return 0;
}

void show(void){
  printf("the waarde van trying is: %d",trying);
}

Zo moet het...

  • Daniel304
  • Registratie: December 2000
  • Laatst online: 14-08 14:02
hebbus thanks !!! dat laatste werkt perfect !!!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 16:31
In de Nederlandse taal is witruimte voor leestekens verboden; het gebruik van meerdere leestekens achter elkaar wordt doorgaans als stijlfout gezien.

Sorry, dat moest even. ;)
Pagina: 1