Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

#define kao extern

[es] :: C/C++ programiranje :: C/C++ za početnike :: #define kao extern

[ Pregleda: 1082 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

aleksazr
zrenjanin

Član broj: 196784
Poruke: 245
*.aDSL.verat.net.



+11 Profil

icon #define kao extern16.11.2012. u 17:46 - pre 139 meseci
Code:
STRUCT1 foo[] = {1, 2, 3, 4, 5, 6};
#define entries (sizeof(foo) / sizeof(STRUCT1))

Interesuje me koliko članova ima niz foo, i to dobijem u entries.
Kako sad taj #define da uključim u C fajl koji se zasebno kompajlira?

Jedino znam na ovaj način
Code:
STRUCT1 foo[] = {1, 2, 3, 4, 5, 6};
const int entries (sizeof(foo) / sizeof(STRUCT1));

pa da u nekom global header fajlu ubacim
Code:
extern const int entries;

ali to kreira varijablu, tj. zauzima memoriju.

Nije mi bitno za memoriju, ali me interesuje teoretski... kako da to uradim bez varijable?
(Kako sad taj #define da uključim u C fajl koji se zasebno kompajlira?)
CYRfree 2.0.5 - ako bi ćirilicu radije čitali kao latinicu.
Serbian Latin & Cyrillic keyboard layout 08.nov.2022 - za QWERTY tastature sa našeg tržišta.
http://users.beotel.net/~gwh/

 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: #define kao extern17.11.2012. u 08:42 - pre 139 meseci
Umesto promenljive možeš da imaš funkciju koja vraća veličinu. A da bi makro funkcionisao mora i niz da bude vidljiv drugom .c fajlu. Ako niz nije vidljiv onda makro ne može da se koristi.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: #define kao extern

[ Pregleda: 1082 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.