Myrkling hat Recht mit dem str_cpy.

Ja, man kann in C und verwandten Sprachen über viele Methoden auf Arrays zugreifen, aber meistens macht nur eine Sinn.

Bei der Variante Titel.pstring = &t1; weist du pstring einen Pointer auf einen String-Pointer zu, keinen Array. Das macht keinen Unterschied wenn man den Array lesen will, solange man annimmt, dass nur ein Objekt im Array gespeichert ist.

Der Absturz kommt ziemlich sicher genau dann, wenn die Engine den Text löschen will. Probier doch mal aus, ob es mit ptr_remove auch abstürzt. wink
Das liegt wohl daran, dass du nicht den Inhalt des Arrays, sondern den Array selbst ersetzt hast! Und jetzt versucht die Engine den Array zu löschen, so als ob sie ihn selbst erstellt hat, und das wird eben abstürzen, so wie wenn du einfach so free(t1); schreiben würdest.