Was macht das Hinzufügen eines zu einem Charakter -Array in C?
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?
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