memset, Speicherverwaltungsfunktionen etc.
-
Ich lese viel über Speicherverwalter, memset etc.
Technisch k, aber wo genau kommen diese Dinge zum Einsatz?
Wär für ein paar schnelle Beispiele dankbar.
-
Mit memset kannst du einen bestimmten Speicherbereich auf ein bestimmtes Byte setzen, d.h. wenn du z.b. ein char-array/"C-String" hast, kannst du das mit Nullen füllen. Das brauchst du normalerweise nur, wenn du dann Funktionen wie strncpy, strncat usw. verwendest, die nach dem Kopieren kein Null-Zeichen an den Ziel-String anhängen. Wenn aber sowieso alles (bzw. der Rest) Null ist, ist das egal, so dass weitere string-operationen durchführen kannst.
Mit memcpy kannst du einen bestimmten Speicherbereich kopieren, wobei man sagen muss, dass diese Funktion meistens sehr schnell und vorallem OS/CPU-Spezifisch optimiert ist, so dass du da mit keiner eigenen for-schleife oder so ran kommst
Sowas brauchst du oft, wenn du z.B. Puffer (Dateiverwaltung, DSP-Programmierung usw.) kopieren willst, da kommen oft auch die anderen Speicherverwaltungsfunktionen zum Einsatz.