Programuję w C w ciągu ostatnich kilku lat i stworzyłem nawyk, aby umieścić typedef struktury w pliku nagłówkowym i pozostawić jego definicję w pliku źródłowym, aby inni mogli używać mojego pliki bez pozwolenia im na bałagan.C standard definicji struktury
// header file
typedef struct s_example EXAMPLE
// source file
struct s_example {
// something
};
jest coś nie tak, że robi to, mam niech inni wiedzą, co zrobić z moim elemencie?
po prostu pytam, ponieważ widzę wiele osób pokazujących wszystko w pliku nagłówkowym.
Jeśli wszystko, co robią, jest wskaźnikiem, niekompletny typ jest w porządku. –
Należy również zauważyć, że w C++, 'typedef' jest niepotrzebny, ponieważ nie trzeba używać słowa kluczowego' struct', gdy odwołujesz się do gołego typu w źródle, tak jak robisz to w C. – aruisdante
Jak użytkownik może być w stanie używać struct, jeśli nie widzą formatu/pól? a struktura NIE powinna być wpisywana na klawiaturze. Takie typowanie po prostu zasłania kod i zaśmieca przestrzeń nazw kompilatora. Zaproponuj: umieść format struct w pliku nagłówkowym (i być może zewnętrzną instrukcję, jeśli inne programy potrzebują dostępu do lokalnej instancji struct.) – user3629249