Hallo,
ich bins noch einmal. Ich verstehe eine Klinigkeit noch immer nicht.
Anbei zwei Beispiele..
Hier sollen die ersten fünf Speicherstellen von main_LED_st mit dem Inhalt von sw_e_1 beschrieben werden.
byte sw_e_1[5] = {
1,0,0,0,0 };
byte main_LED_st[6] = {
0,0,0,0,0,0};
memcpy(main_LED_st, sw_e_1, 5 * sizeof(byte));
Hier soll etwas passieren, wenn der Inhalt der beiden angegebenen Arrays nicht identisch ist.
byte old_LED_st[6] = {
0,0,0,0,0,0};
byte main_LED_st[6] = {
0,0,0,0,0,0};
if (memcmp(old_LED_st, main_LED_st, sizeof(old_LED_st)))
{
}
Was ist nicht verstehe ist in beiden Fällen der sizeof-Teil.
Ich verstehe nicht, warum sich einmal eine Datengröße (Byte) in der Klammer nach sizeof befindet, und einmal der Name eines der beteiligten Arrays.
5 * sizeof(byte)
sizeof(old_LED_st)
Evtl. habe ich beim zusammenstellen der benötigten Informationen auch nur etwas falsch abgetippt und eines der Beispiele ist fehlerhaft.?
Ich bitte (nochmals) um Aufklärung.
Gruß Chris