C-array-Vergleich

Ist der defacto-Methode für den Vergleich von arrays (in C) zu verwenden memcmp aus string.h?

Ich soll zum vergleichen von arrays von ints und doubles in meine unit-tests

Ich bin nicht sicher, ob so etwas wie:

double a[] = {1.0, 2.0, 3.0};
double b[] = {1.0, 2.0, 3.0};
size_t n = 3;
if (! memcmp(a, b, n * sizeof(double)))
    /* arrays equal */

oder schreiben Sie eine maßgeschneiderte is_array_equal(a, b, n) Typ Funktion?

Ich denke du meinst memcmp. memset überschreiben würde das erste array.
IIRC memset wird sich ändern (set) Werte in das array so, dass nicht nützlich nur für Vergleich - arrays.
ja, memcmp, dass ist das, was ich meinte - das ist als gute Praxis zu empfehlen?
hängt davon ab, was Sie wollen. memcmp vergleicht byte-für-byte, das kann nicht sein, was du willst (insb. mit floating-point-Werten).

InformationsquelleAutor bph | 2011-12-06

Schreibe einen Kommentar