Kezdőoldal » Számítástechnika » Programozás » Globális változó modulból?

Globális változó modulból?

Figyelt kérdés
A main.c fájlban létrehozok egy globális változót (pl.: char* p;), a masik.c modulban viszont ha használnám ezt a p pointert (pl *p=2;), azt írja error: 'p' undeclared (first use in function). Ezt a p pointer csak a main.c-ben hoztam létre, nem raktam be máshova, headerbe sem. Mit csináltam rosszul?
2017. dec. 1. 18:54
 1/3 anonim ***** válasza:
100%

az nem globális változó. Header fájlban kell deklarálni, mégpedig az extern kulcsszó használatával.

Azaz az egyik headerben, amit include-olsz mindenhová:

extern char *p;

2017. dec. 1. 20:35
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
És a headerbe (egy van) a masik.c modul minden függvényének "fejét" bele kell rakni, vagy elég csak azt, amit a main.c közvetlenül hív meg?
2017. dec. 1. 22:34
 3/3 anonim ***** válasza:
Mindet elvileg, gyakorlatban a legtöbb fordító elfogadja azt is, ha csak azt, amit máshol használsz. De az nem szép megoldás.
2017. dec. 1. 23:43
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!