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:
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;
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.
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!