Les parametres de la fonction main()

Résolu
chahbane -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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

A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
NewUcef Messages postés 80 Date d'inscription   Statut Membre Dernière intervention   6
 
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
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
*(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
NewUcef Messages postés 80 Date d'inscription   Statut Membre Dernière intervention   6
 
Oui ta raison seulement c'est mal exprimé ;)
0
chahbane
 
Mer6 bien j'ai compris mais a quoi ca sert par exemple?????!!
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
NewUcef Messages postés 80 Date d'inscription   Statut Membre Dernière intervention   6
 
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