declaration array qui contient des longs

Bonjour,

Dans les docs de références de arduino pour les arrays on peut lire :

int myPins[] = {2, 4, 8, 3, 6};

pour declarer un tableau qui contiendra des int (je suppose que cela veut dire ca, corrigez moi si je me trompe...)

Mais dans mon cas, le tableau contiendra des nombres "long" (nombre pouvant aller jusque 2 147 483 647)

Comment dois-je déclarer ?

long myPins[] = {2111221,1201,4577544,2544566}

?

Merci !

long myPins[] = {2111221L,1201L,4577544L,2544566L}

Ah ok, donc ce que j'en comprends c'est qu'il faut mettre un L a la fin cest ca ?

mais alors supposons

void setup{
long myPins[] = {2111221L,1201L,4577544L,2544566L}
}

voild loop{
for(int i=0;i<=5;i++){
myPins[0]=analogRead(i)*1000;
}
...
}

comment je fais pour mettre le L a la fin de analogRead(0)*1000 ???

Merci

comment je fais pour mettre le L a la fin de analogRead(0)*1000 ???

analogRead(0)*1000L

Merci pour ces réponses synthétiques fdudnews !

Mais cest quoi ce L ? le long ne suffit pas ?

1000L est équivalent à un (long)1000
Le type d'une constante est défini par le contexte. Mais ce n'est pas toujours suffisant. Quand la valeur est inférieure à 32767 le compilateur ne peut pas savoir si c'est un int ou un long donc il faut le lui dire explicitement.
Si tu écris 1000 le compilateur le considère comme un entier.
Si tu écris 1000.0 il le considère comme un float.
Si tu écris 1000L il le considère comme un long

Merci pour ces précisions !

moi je pensais que dès lors qu'on avait dit le type de variables dans la déclaration, il n'y avait pas besoin de le redire.

Bon je m'en va tester tout ca !

merci !!!