Język C i zmienne i stałe globalne

0

Witam,
Chciałbym wydzielić oddzielny plik na zmienne i stałe dostępne potem w razie potrzeb dla poszczególnych plików, z których składa się mój program.

Przykładowo mam stałą nazwę użytkownika wczytywaną podczas każdego uruchomienia programu do zmiennej char* uzytkownik. Zmienna ta trzymana jest w pliku stale.c.

W jaki sposob udostepnic ja dla innych plikow?

Pozdrawiam,

0

W wersji podstawowej to:

#include

a gdybyś miał problemy z zapętleniami lub kilkukrotnym ładowaniem tego samego pliku to korzystasz również z:

$IFDEF
$IFNDEF

Opolski Portal Programistyczny
http://programowanie.opole.pl

0

W pliku: stale.h

extern char nazwa[];
extern int liczba;
w pliku: stale.c
char nazwa[]="Jakaś nazwa";
int liczba=423;

Do plików dołączasz stale.h, do stale.c nie koniecznie.

Z tym że powinieneś raczej pozbywać się wszystkich zmiennych globalnych lub trzymać je w tym modułu do którego należą.
Widziałem jeszcze takiego stwora (dawno temu) możesz to użyć jeżeli nie chcesz trzymać się dobrych zasad programowania.
W pliku: stale.h

#indef INITDATA
#define EXT
#define VAL
#else
#define EXT extern
#define VAL ; //
#endif
EXT char nazwa[] VAL  ="Jakaś nazwa";
EXT int liczba VAL =423;

#undef EXT
#undef VAL

W jednym z plików np stale.c piszesz:

#define INITDATA
#include "stale.h"

w pozostałych samo:

#include "stale.h"
0

Dzięki. Mam zamiar je trzymać w jednym module, bo są to dane zależne od konkretnego środowiska i wole je pobrać raz na początku działania programu i mieć dostępne, jest to chyba mimo wszystko bardziej eleganckie niż pobieranie ich kilka razy do zmiennych lokalnych w razie potrzeb.

1 użytkowników online, w tym zalogowanych: 0, gości: 1