erstmal:
neuvektor->feld = "abcd";
schreibt nicht abcd in den mit malloc alloziierten speicher sondern ändert einfach den Pointer. Das mag vielleicht im ersten Augenblick funktionieren, aber spätestens wenn du ne Funktion schreibst, die den Speicher per free() freigibst oder du anderweitig schreibend auf den Speicherbereich zugreifst, wirst du Laufzeitfehler kassieren.
Besser ist da
#include <string.h>
........
strcpy(neuvektor->feld, "abcd"); //normale strcpy-funktion, oder
strcpy_s(neuvektor->feld,neuvektor->laenge,"abcd"); //Funktion, die Pufferüberläufe vermeiden soll, nicht in allen compilern vorhanden
Als nächstes würde ich mal fragen, warum du das Datenfeld als float-Zeiger anlegst. Mir ist dafür ausschließlich char*, unsigned char* und vielleicht void* (aber eher selten) bekannt.
Ich sehe nichts in deinem Quellcode, was auf eine Verwendung als float hindeutet. Sogar die malloc-anfrage läuft über sizeof(char)*länge. Wenn du wirklich float haben willst, würde ich hier auch sizeof(float)*länge benutzen.
Damit dürfte sich auch der eigentliche Teil deiner Frage erklären lassen. Da du keine Fehlermeldungen gepostet hast, geh ich mal davon aus, dass es sich um einen Type-Missmatch-Fehler handelt.
Davon mal abgesehen, dass in der ersten Zeile der Stern so wie bei EnnoK gesetzt gehört, schreibst du chars in dereferenzierte float*, also float. da meckert er halt.
*(neuvektor->feld) = (float)'e';
(neuvektor->feld[0]) = (float)'e';
dadurch wirst du aber einen merkwürdigen Abstand zwischen den einzelnen chars erreichen, da die Adressen über sizeof(float) berechnet werden und halt einfach nur ein char reingequetscht wird.
Besser ist da:
*((char*)(neuvektor->feld+offset)) = 'e';
((char*)neuvektor->feld)[offset] = 'e';
Dadurch werden auch die Adressen auf char basiert berechnet (also ein Byte) und alle char-werte, die du reinschreibst, liegen schön hintereinander.
@EnnoK:
Dein Vorschlag geht zwar in die richtige Richtung, aber du versuchst, einem float einen float* zuzuweisen. In diesem Fall müsste man den float*-cast einfach weglassen, dann gehts auch ;)
Ele
P.S. Auch ich habe meine Beispiele nicht getestet und aus dem Kopf geschrieben. Sollten sie Fehler enthalten, bitte sagen. Ich will schließlich keine Unwahrheiten verbreiten =)