Frage

Ich schaue einen Code zu Lernzwecken durch. Ich arbeite diesen Teil des Codes durch.

// e.g. const unsigned char data={0x1,0x7C ... }
unsigned char buf[40];
memset(buf,0,40);
buf[0] = 0x52;
memcpy(buf+1, data, length); // What does buf+1 do in this situation?

In der letzten Zeile, in der Memcpy genannt wird, wie buf+1? BUF ist ein Charakter -Array. Was macht +1 damit?

War es hilfreich?

Lösung

In C ist jeder Array -Name ein Zeiger, also bedeutet BUF auch den Zeiger, der auf BUF [0]. Dann "BUF+1" bedeutet "BUF [1] -Ade.

Andere Tipps

buf+1 ist äquivalent zu &(buf[1])

buf+1 ist das gleiche wie &(buf[1]). Mit anderen Worten, es gibt einen Zeiger auf das 2. (Index 1) -Scharakter von BUF zurück.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top