Wie verwenden von memcpy in Struct in c?

Habe ich ein struct:

struct points{
int i;
int x;
int y;
};

Ich habe einen array der struct, und es mit dem Namen temp. Dann habe ich eine andere und es mit dem Namen pt. Angenommen, ich habe einige Inhalte in temp. Wie kann ich kopieren Sie die Elemente von temp pt?

Hier ist mein code von memcpy und der compiler sagt, dass es einen segmentation fault. Hilfe bitte.

#define MAX_POINTS 400
struct points temp[MAX_POINTS];
/* Some code to input elements to array temp */
struct points pt[i]; /* array of struct with i elements*/
memcpy(&pt, &temp, sizeof (temp));
  • pt und temp sind bereits Zeiger, wenn Sie nicht die array-Dereferenzierung. Entfernen Sie die & in Ihrem memcpy. Segfault ist wahrscheinlich, weil die Adresse des ersten Elements des pt oder temp (cast als eine Ganzzahl) ist, die außerhalb Ihrer heap-Bereich.
  • Als ich versuchte, drucken Sie den Inhalt des pt.ich es korrekt gedruckt: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Segmentation fault (core dumped), Aber wieder, wie wollen Sie loswerden der seg fault?
  • Noch ist die seg fault ist es. Sollte ich malloc? Und wie sollte ich es verwenden?
  • was ist Ihre definition von ich?
Schreibe einen Kommentar