Mam zdefiniowaną stałą tablicę:
const int arr[234] = {1, -44, 137, 23, -9, 9, ... };
w środku jest pewny niezmienny liczbowy pattern istotny dla działania programu.
Tablica będzie używania w trzech funkcjach w trzech różnych plikach:
-
foo1()
wfile1.c
-
foo2()
wfile2.c
-
foo3()
wfile3.c
Ponieważ definicja tej tablicy jest obszerna, chciałbym stworzyć specjalny wydzielony plik dla niej: arr.c \ arr.h
.
Pytanie co jest lepszym rozwiązaniem?
Trzymanie definicji:
const int arr[234] = {..};
w arr.c
, a w arr.h
:
extern const int arr[234];
i następnie includowanie arr.h
do plików foo1.c
, foo2.c
i foo3.c
.
...czy może od razu trzymać definicję tablicy w arr.h
?
Spotkałem się z dwoma opiniami stricte adresującymi mój problem, chciałbym zasięgnąć dodatkowy feedback.