Qu'est-ce que l'ajout d'un à un tableau de caractères en C Do?
Question
Je suis à la recherche par un code à des fins d'apprentissage. Je travaille dans cette partie du code.
// 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?
Sur la dernière ligne où memcpy est appelé ce qui ne BUF + 1 faire? BUF est un tableau de caractères, alors qu'est-ce que +1 à faire il?
La solution
En C, chaque nom de tableau est un pointeur, donc buf ici signifie aussi le pointeur qui pointent vers buf [0] .Ensuite "buf + 1" signifie "buf [1]" l 'adresse.
Autres conseils
buf+1
est équivalente à &(buf[1])
buf+1
est le même que &(buf[1])
. En d'autres termes, il renvoie un pointeur sur le 2ème (index 1) caractère de buf.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow