[résolu] Problème concaténation

Super_Cinci:
Les deux codes ci-dessus feront exactement la même chose, mais j'ai dans l'idée que le premier est peut-être plus simple et plus sûr, selon l'utilisation ultérieure des variables dans ton soft... le premier code sera plus rapide.

Non.
Ces 2 codes montrent faiblesse ou erreur.

La Faiblesse

int capteur[5];

for (byte i = 0 ; i < 5 ; i++){
      capteur[i] = analogRead(A0 + i) ; // capteur[i] = analogRead(Ai);
  }



A0 est une constante numérique dans le core arduino ( = 14 chez UNO si je ne me trompe). donc A0 + 1 = A1 = 15, et A0 + 5 = A5 = 19.

Ce code est exact mais part du principe indiqué dans la dernière phrase.
C'est peut être vrai sur une Uno aujourd'hui mais rien ne garantie que cela ce sera toujours le cas sur d'autres catres.
Donc attention aux conclusions tirées trop rapidement.
Mieux vaut utiliser une table redirection :

int capteur[5];
uint8_t pinCapteur[5] = { A0, A1, A2, A3, A4 };

for (byte i = 0 ; i < 5 ; i++)
{
       capteur[i] = analogRead( pinCapteur[i] ) ; // capteur[i] = analogRead(Ai);
}

La grossière erreur

int capteur0, capteur1, capteur2, capteur3, capteur4, capteur5;  // déclarer les 6 variables en consécutif!

pointer ptrCapteur;  // je ne sais même pas comment déclarer un pointeur... la honte!

for (byte i = 0 ; i < 5 ; i++){
      ptrCapteur = *capteur0 + (2 * i);  // assigne le pointeur sur la bonne variable
      ptrCapteur = analogRead(A0 + i) ; // capteur0 = analogRead(A0);
  }

DANGER: Rien ne permet d'affirmer que les variables capteur0, capteur1,... sont allouées consécutivement en mémoire. Elle le sont peut être aujourd'hui dans ce code exemple avec cette version du compilateur et cette version du linker. C'est un coup de bol.
Ce genre d'affirmation est extrêmement dangereux à faire circuler.
De plus la syntaxe est completement fausse. Au mieux, si cela avait été une technique utilisable tu aurais eventuellement pu écrire :

int *ptrCapteur = &capteur0;  // assigne le pointeur sur la première variable
for (byte i = 0 ; i < 5 ; i++)
      *(ptrCapteur+i) = analogRead(A0 + i) ; // capteur0 = analogRead(A0);

Mais comme je le disait, de toute façon cette méthode est a proscrire.

La seule réponse valable est donc la première avec les tableaux.