Beste Methode zum Erstellen eines Unterarrays aus einem Array in C

Lesezeit: 1 Minute

Benutzer-Avatar
Armer

Ich habe ein Array sagen a[3]={1,2,5} . Ich muss ein anderes Array erstellen a2[2]={2,5}.

Was ich versucht habe, ist, einfach ein neues Array zu erstellen a2[] und kopieren Sie einfach alle Elemente aus dem gewünschten Positionsbereich.

Gibt es eine andere Methode, um dies in C zu erreichen?.

memcpy(a2, &a[1], 2*sizeof(*a));

  • Sollte es nicht sein memcpy(&a2, &a[1], 2*sizeof(*a)); ?

    – Flamme von Udun

    28. September 2014 um 17:26 Uhr


  • Nein, a2 ist bereits ein Zeiger auf ein Array, aber a[i] ist stattdessen eine Zahl.

    – Jan Kaiser

    17. Februar 2017 um 21:18 Uhr


Verwenden Sie anstelle eines zweiten Arrays einfach einen Zeiger:

int a[3]={1,2,5};
int *p = &a[1];

Wenn sie verschieden sein müssen, haben Sie keine andere Wahl, als die Array-Elemente in ein neues Array zu kopieren.

1365240cookie-checkBeste Methode zum Erstellen eines Unterarrays aus einem Array in C

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy