Le passage d'un tableau à une fonction et l'utilisation de sizeof dans Arduino
Je suis un Arduino padawan de l'apprenant. Je veux passer un tableau d'octets à une fonction et d'obtenir la taille du tableau.
byte data[] = {
B00000000,
B00000001,
B00000011,
B00000111
};
Serial.println(sizeof(data)); //----------------------> displays 4
Lorsque je passe à une fonction sizeof
renvoie 2. Comment puis-je le faire revenir 4 également dans la fonction?
writeData(data);
void writeData(byte data[]) {
Serial.println(sizeof(data)); //-------------------> displays 2
}
OriginalL'auteur Guus | 2012-08-18
Vous devez vous connecter pour publier un commentaire.
Par exemple lors du passage de tableaux comme paramètres, le compilateur n'a plus la taille de la matrice. Au lieu de cela, le tableau est transmis comme un pointeur, et dans
writeData
lasizeof
opération obtient la taille du pointeur et pas le tableau (ou autre) il indique.Ok merci. @JoshPetitt solution utilisée et il a obtenu de fonctionner comme prévu.
Je reçois souvent accroché sur cette question. Merci pour la clarification +1
OriginalL'auteur Some programmer dude