Menu Rotary: variables ou tableau?

Tu déclares x en variable globale : pas besoin de la passer en argument, elle est connue de toutes tes fonctions (setup, loop et les autres). Si tu veux utiliser des variables locales, par exemple locales à la loop, et les utiliser et les modifier dans une fonction, il faut les passer en argument et en pointeur.

Exemple :

void test(int *pj) /* test attend l'adresse d'un entier... */
{
    *pj=2;          /* ... pour le modifier. */
    return;
}

int main(void)
{
    int i=3;
    test(&i);       /* On passe l'adresse de i en paramètre. */
    /* Ici, i vaut 2. */
    return 0;
}

Trouvé ici.

Voir aussi (même lien) :

Exemple - Passage de paramètre par référence en C++
void test(int &i) // i est une référence du paramètre.
{
    i = 2;    // Modifie le paramètre passé en référence.
    return;
}

int main(void)
{
    int i=3;
    test(i);
    // Après l'appel de test, i vaut 2.
    // L'opérateur & n'est pas nécessaire pour appeler
    // test.
    return 0;
}

C'est ce que j'utilise les rares fois où je ne veux pas utiliser des variables globales.