1) In deinem 3. code (COLORSTYLES):
Erstmal stimmt wieder der typ nicht. Du erstellst einen array aus 'COLORSTYLES*' elementen (also ein 'COLORSTYLES**'), gibst das ganze zurück, aber weist es einer 'COLORSTYLES*' variablen zu.

Abgesehn davon hast du glaub ich ein * zu viel. Wenn ich das richtig versteh, willst du eine Liste an COLORSTYLES-elementen und nicht pointern machen. Das wäre:
Code:
COLORSTYLES ColStyles * = sys_malloc(sizeof(COLORSTYLES) * NumStyles);


2) STRING* array problem: wenn du in lite-c auf members von einem arrayelement zugreifen willst brauchst du klammern.
Code:
(ColStyle[0]).string = blabla;


3) will noch anmerken dass die strings zu dem zeitpunkt immernoch nicht vollständig initialisiert sind. dazu brauchst du noch ein str_create()

Allgemein würd ich dir empfehlen dich ein bisschen in die pointer/array geschichte einzulesen.


POTATO-MAN saves the day! - Random