[ aleksazr @ 16.11.2012. 17:46 ] @
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?)
[ Mihajlo Cvetanović @ 17.11.2012. 08:42 ] @
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.