O metodă bine cunoscută de a face un cod flexibil şi împartă proiectul în a obiectelor este de a folosi indicii la funcţii într-o struct şi apoi a iniţializa struct cu indicatori către funcţiile pe care doriţi să o utilizaţi.
typedef struct myStructType
(
void (* myFunc) (void);
) myStruct;
void func1 (void)
(
)
void main ()
(
myStruct struct1;
struct1.myFunc = func1; / / aloca indicatorul func
struct1.myFunc (); / / funcţia Apel în func1
)
Acest lucru permite folosirea aceleaşi struct pentru diferite funcţii la un moment dat.
Acum, întrebarea este cum să facă un lucru similar cu alte structs mai degrabă decât să funcţii.
Vreau să am un pointer la o struct într-o struct.Si apoi, posibilitatea de a iniţializa acest pointer la o struct Vreau să o utilizaţi.
struct oneStruct
(
char var1;
) unul;
struct twoStruct
(
char var1;
) două;
typedef struct de bază
(
structPtr structType; //?




?
) structBasic;
void main ()
(
structBasic.structPtr = &oneStruct; / / set indicatorul la o struct Vreau să folosesc
structBasic.structPtr-> var1 ;
)