LOCODUINO

Les pointeurs (1)

Avancer en C

. Par : Thierry

Les pointeurs permettent de manipuler ce que tout langage évolué tente de masquer : l’organisation interne de la machine. Avant de voir la syntaxe de ces pointeurs, un peu de géographie... Comment ça marche... La mémoire centrale d’un ordinateur est une vaste étendue d’octets qui sont adressables individuellement. Je parle là de la mémoire (…)

Retourner à l'article

Vous répondez à :

Les pointeurs (1) 24 janvier 2020 15:50, par Luchet

Bonjour
je voudrais reproduire la partie suivante de votre exposé

void setup()
{
  //essai des pointeurs:
  Serial.begin(115200);
  Serial.println("Debut");
     void  GetValue( *pRet)
    {
        *pRet=10
    }
   int i = 0;
  GetValue(&i);
  Serial.println(i, DEC);   // Affiche 10
}

void loop() 
{
// essai
}

mais je reçois le message d’erreur suivant ????

variable or field 'GetValue' declared void

et le prog ne se compile pas
Merci de bien vouloir me dépanner

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

6 Messages

  • Les pointeurs (1) 22 décembre 2019 09:32, par Thierry

    Juste merci pour ces explications claires et rédigées en bon français !

    Répondre

  • Les pointeurs (1) 24 janvier 2020 15:50, par Luchet

    Bonjour
    je voudrais reproduire la partie suivante de votre exposé

    void setup()
    {
      //essai des pointeurs:
      Serial.begin(115200);
      Serial.println("Debut");
         void  GetValue( *pRet)
        {
            *pRet=10
        }
       int i = 0;
      GetValue(&i);
      Serial.println(i, DEC);   // Affiche 10
    }
    
    void loop() 
    {
    // essai
    }

    mais je reçois le message d’erreur suivant ????

    variable or field 'GetValue' declared void

    et le prog ne se compile pas
    Merci de bien vouloir me dépanner

    Répondre

    • Les pointeurs (1) 25 janvier 2020 11:04

      Bonjour
      j’ai trouver les erreurs a la ligne void GetValue( *pRet) il faut écrire void GetValue(int *pRet) et a la ligne 8 il manque le ;
      Merci

      Répondre

    • Les pointeurs (1) 27 janvier 2020 10:56, par Thierry

      Bonjour

      Le code présenté dans l’article est à une fin de démonstration, et n’a pas vocation à être compilé tel quel. Il manque en effet des choses, mais ce n’est pas du tout comme vous l’avez essayé...

      void  GetValue( *pRet)
      {
         *pRet=10
      }
      
      void setup()
      {
        //essai des pointeurs:
        Serial.begin(115200);
        Serial.println("Debut");
        int i = 0;
        GetValue(&i);
        Serial.println(i, DEC);   // Affiche 10
      }
       
      void loop() 
      {
      // essai
      }

      Répondre

  • Les pointeurs (1) suite 29 juillet 2022 19:06, par Serge L
      void  GetValue( int *pRet)// on doit mettre un interger (variable)ici
      {  //une accolade  pour la fonction
      *pRet=10;  // un point virgule..
      }//une accolade  pour la fermeture de la fonction..
      void setup()
      { //essai des pointeurs:
     Serial.begin(9600);
     Serial.println("Début");
     int i = 0;
     GetValue(&i);
     Serial.println(i, DEC);   // Affiche 10
      }
      void loop()
      {// essai fonctionel.. Serge!
      }

    Voir en ligne : Les pointeurs (1) suite

    Répondre

  • Les pointeurs (1) 31 août 2023 11:44, par Laurent Rodier

    Bonjour ! je me présente… Je suis un amateur de bricolage de toute sorte, donc la programmation des Arduino en fait partie. Je trouve votre article sur les pointeurs très pertinent. Ma question… dans un paragraphe de l article l’adresse de feu1 est passée en argument à la fonction Vert(), et c’est donc lui que modifiera Vert() et disant pFeu->vert = true ;. Pareil pour l’appel suivant qui va cette fois mettre à jour feu3 . Notez bien le -> qui remplace le point habituel dans les structures et les classes et qui signale que la partie à gauche de l’expression (ici pFeu) est un pointeur. Le compilateur signalera toute confusion : même lui ne peut pas travailler si l’on s’est trompé ! je vous demande si dans pFeu->vert, *pFeu.vert ferait les mêmes fonctions pour le compilateur, ou il y verrait une erreur de syntaxe.

    Répondre

Rubrique Programmation

Les derniers articles

Les articles les plus lus