memset()wird als Rückgabe deklariert, void*die immer den gleichen Wert hat wie die an die Funktion übergebene Adresse.
Was nützt der Rückgabewert? Warum kehrt es nicht zurück void?
strcat()? Manchmal sind Standardfunktionen so, wie sie angegeben sind, nicht so, wie sie sein sollten.