Wie funktionieren Realloc und Memcpy?

Ich habe zwei Fragen

Tunrealloc() undmemcpy() Kopieren Sie die Einträge in einem Array auf eine schnellere Weise in ein anderes, als wenn Sie nur die einzelnen Elemente durchlaufen.O(N)? Wenn die Antwort ja lautet, wie komplex ist sie dann?

Wenn die zugewiesene Größe kleiner als die Originalgröße ist, wirdrealloc() Kopieren Sie die Einträge an eine andere Stelle oder belassen Sie sie einfach, da sie die Größe des Arrays verringern?