Ako pristupovať k premenným v C. Súboru c?

J

JaMe

Guest
Mám premennú s názvom "Timer1" v súbore "main.c". Problém je, že existuje nejaký spôsob, ako prístup k týmto premenné v iných súborov, napr v súbore "init.c"?
 
Sú main.c a init.c zostavené do jedného spustiteľného súboru? Ak je main () volanie init (), potom call mohol odovzdať ukazovateľ na Timer1.
Code:
 # include void init (int * value) {printf ("value =% d \\ n", * hodnota); * Hodnota *= 2; printf ("value =% d \\ n", * value);} int main (void) {int Timer1 = 123; printf ("Timer1 =% d \\ n", Timer1) init (a Timer1) printf ("Timer1 =% d \\ n", Timer1) return 0;}
Výstup:
Code:
 Timer1 = 123 Value = hodnota 123 = 246 Timer1 = 246
 
Nemožno získať prístup, ak si definovať premennú mimo hlavnej funkcie. [Quote = jame] mám premennú "Timer1" v súbore "main.c". Problém je, že existuje nejaký spôsob, ako prístup k týmto premenné v iných súborov, napr v súbore "init.c"? [/Quote]
 
v "init.c" extern int Timer1, void init (void) {Timer1 = 0;} //--------------------------- ------------- v "main.c" int Timer1, extern void init (void); int main (void) {init (), / / ďalší kód return 0;}
 
U potrebovať externý vyhlásenie. To plus prototyp funkcie povedať kompilátora / likerhow na zostavenie hovoru, čo sa vráti z toho, čo je potrebné skladovacie priestory, a tiež sú. extern hovorí kompilátoru, že nájde funkcie (alebo premenná), v inom súbore.
 
Jedným zo spôsobov, ako to dosiahnuť je vytvoriť main.h, decalre tejto premennej ako extern a sú v main.h init.c súboru. To je nutné v prípade, že prekladač ANSI pohlavné choroby prísne presadzuje. V opačnom prípade sa uistite, že spojenie u oboch súborov po kompilácii, použití externej kľúčové slovo priamo vo vašom init.c súboru.
 

Welcome to EDABoard.com

Sponsor

Back
Top