Domanda

Sto guardando attraverso un codice a fini di apprendimento. Sto lavorando attraverso questa porzione di codice.

// 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?

L'ultima riga in cui memcpy si chiama ciò che BUF + 1 fanno? buf è un array di caratteri, in modo da che cosa fa uno fare per essa?

È stato utile?

Soluzione

In C, ogni nome di matrice è un puntatore, quindi BUF qui significa anche che il puntatore scegliere buf [0] "BUF + 1" Then significa "BUF [1]" s 'indirizzo.

Altri suggerimenti

buf+1 è equivalente a &(buf[1])

buf+1 è lo stesso di &(buf[1]). In altre parole, restituisce un puntatore al 2 ° (indice 1) carattere di buf.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top