file2.c file3.c , , ; linker . , , file1.c header.h
, , file2.c file3.c . , ( Linux) file1.c file2.c proga,
gcc -c -Wall -g file1.c
gcc -c -Wall -g file2.c
gcc file1.o file2.o -o proga
( Makefile), file1.c file3.c progb
gcc -c -Wall -g file1.c
gcc -c -Wall -g file3.c
gcc file1.o file3.o -o progb
, file1.c, file2.c, file3.c #include "header.h". , file1.c ( make ), file1.o proga progb
, , header.h
extern struct st1 structure1[];
structure1 ( ). , structure1[0] file2.c structure1[1] file3.c ( , fill_first fill_second, , , , main)
( file2.o proga, file3.o progb), file2.c file3.c ( structure1, !) ,
struct st1 structure1[2] = { {1,2}, {3,4} };
struct st1 structure1[3] = { {0,1}, {2,3}, {3,4} };
, init.c ( (, structure1)), (, #if #ifdef) proga progb, , , - , init-proga.o init-progb.o,...