Les parametres de la fonction main()

Résolu
Bonjour,

SVP est ce quelqu'un pouvait m'expliquer la difference entre un programme C dont la fonction main n'est pas parametree et un programme avec main paramtree!

main(int argc, char** argv);
main();

merci

2 réponses

  1. Contributeur
    Bonjour,

    Les deux types de main admissibles sont :
    Sans paramètre : int main (void)
    avec paramètre : int main(int argc, char **argv)

    La seconde méthode te permettra de récupérer des valeurs définies au lancement du programme.
    Par exemple, lorsque tu lances ton programme afficheCarre.exe en ligne de commande, tu dois taper : afficheCarre.exe
    Tu peux aussi lancer : afficheCarre.exe 5
    Le 5 sera un paramètre, que tu pourras récupérer dans argv[1] (argv[0] contenant le nom de commande). Il ne faudra pas oublier de convertir en chiffre car argv est un tableau de pointeur sur des chaînes de caractères.
    argc, te donnera le nombre d'arguments entrés par l'utilisateur + 1

    Cdlt,

    Google is your friend
    1
    1. main est une fonction comme tout les autres fonctions sauf il y est pré-définie par le compilateur, et comme tu savait: on peut envoyé des paramètres à une fonction.
      Donc
      *main() :pas besoin de variables extérieures pour que sa marche

      *(int argc, char** argv):besoin de deux variables 1)argc de type Entier,2) argv de type pointeur de chaine

      Je pense que tu a compris la différence si non tu m'écit :D
      0
      1. Contributeur
        *(int argc, char** argv):besoin de deux variables 1)argc de type Entier,2) argv de type pointeur de chaine
        Il n'y a pas forcément besoin de deux variables pour que ça marche. On peut très bien ne rien mettre, mettre une seule variable, deux ou plus.
        0
      2. Oui ta raison seulement c'est mal exprimé ;)
        0
      3. Mer6 bien j'ai compris mais a quoi ca sert par exemple?????!!
        0
      4. Contributeur
        Dans mon exemple : afficheCarre 5, cela peut permettre au programme de dire que l'utilisateur veut afficher un carré de 5. S'il avait mis afficheCarre 6, cela aurait mis un carré de taille 6.
        Cela évite de lancer le programme pour définir sa valeur à l'exécution.
        0
      5. Pour ajouter à la réponse,
        argc est le nombre d'arguments passé au programme.
        argv est un tableau de chaines de caractères. Chaque élément du tableau est un argument passé.
        0