Partage
  • Partager sur Facebook
  • Partager sur Twitter

Double problème : void* et main(...);

    9 octobre 2006 à 19:09:52

    Bonjour :) ,


    J'ai 2 problèmes :

    • 1er problème : Je ne comprends pas à quoi sert et comment fonctionne un tableau de void o_O
      void* fonction();
      void* variable;
      /* ????? Je ne suis pas sûr que la variable existe mais j'ai déja vu une fonction void* */

    • 2eme problème : j'ai vu ça comme fonction main :
      int ParseCommand(int argc,char *argv[])

      Je me demandais ce que c'était et si il existe plusieurs représentations de la fonction "main" différentes
      ( dans un programme en console )



    Merci d'avance ^^
    • Partager sur Facebook
    • Partager sur Twitter
      9 octobre 2006 à 19:23:51

      Citation : PianoPâriss

      Bonjour :) ,


      J'ai 2 problèmes :

      • 1er problème : Je ne comprends pas à quoi sert et comment fonctionne un tableau de void o_O
        void* fonction();
        void* variable;
        /* ????? Je ne suis pas sûr que la variable existe mais j'ai déja vu une fonction void* */

      • 2eme problème : j'ai vu ça comme fonction main :
        int ParseCommand(int argc,char *argv[])

        Je me demandais ce que c'était et si il existe plusieurs représentations de la fonction "main" différentes
        ( dans un programme en console )




      Merci d'avance ^^



      1/
      void* est un _pointeur générique_, c'est à dire que c'est un pointeur non typé. De e fait il est impossible de le déférencer (d'accéder à la valeur pointée).

      2/
      C'est juste une fonction qui prend en paramètre un entier et un tableau de char*, rien de bien extraordinaire.
      • Partager sur Facebook
      • Partager sur Twitter
        9 octobre 2006 à 19:29:25

        Pour le 1 : ok ^^ mais je ne vois pas l'interrêt de faire ça o_O


        Pour le 2 :

        Citation : asmanur

        2/
        C'est juste une fonction qui prend en paramètre un entier et un tableau de char*, rien de bien extraordinaire.



        Non, car il n'y avait pas de fonction "main" ; la fonction main : c'était ça :o
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          9 octobre 2006 à 19:39:13

          pour le 1:malloc fait ca pour pouvoir renvoyer un pointeur vers ta variable faichement cree quelque soit son type.

          Edit :
          pour int ParseCommand(int argc,char *argv[]) c'est comme as dit.
          C'est pas parce que il y'a int argc,char *argv[] comme paramatre que c'est main.
          Et puis de toute facon que tu le voit ou pas ,il ya toujours une fonction main cree.
          • Partager sur Facebook
          • Partager sur Twitter
            9 octobre 2006 à 19:43:44

            Ok pour le 1 ;) merci

            Et pour le 2 je vais essayer de retrouver le code pour voir un peu mieux ^^


            [EDIT] C'est là le code : Ici
            • Partager sur Facebook
            • Partager sur Twitter
              9 octobre 2006 à 20:04:12

              Citation : PianoPâriss

              Ok pour le 1 ;) merci

              Et pour le 2 je vais essayer de retrouver le code pour voir un peu mieux ^^


              [EDIT] C'est là le code : Ici


              Bah y'a un main dans ce programme o_O
              • Partager sur Facebook
              • Partager sur Twitter
                10 octobre 2006 à 6:57:50

                Citation : PianoPâriss


                1er problème : Je ne comprends pas à quoi sert et comment fonctionne un tableau de void o_O

                void* fonction();
                void* variable;
                /* ????? Je ne suis pas sûr que la variable existe mais j'ai déja vu une fonction void* */



                Il n'y a pas de 'tableau de void'.

                Ce qui existe, ce sont des pointeurs (un tableau n'est pas un pointeur et inversement) de type void ou 'void *'.

                Ca sert à stocker l'adresse d'un objet quelconque et donc, le plus souvent à transmettre l'adresse de cet objet via des fonctions qui ne le traitent pas.

                Les cas typiques sont la programmation générique et les 'callbacks'.

                Citation : Pas de titre


                2eme problème : j'ai vu ça comme fonction main :

                int ParseCommand(int argc,char *argv[])



                o_Oo_Oo_O Problèmes de lunettes ? Je vois écrit 'ParseCommand', pas 'main'.
                • Partager sur Facebook
                • Partager sur Twitter
                Music only !

                Double problème : void* et main(...);

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown