Explication fonction main
miki
-
mype Messages postés 2449 Statut Membre -
mype Messages postés 2449 Statut Membre -
Bonjour,a tous voila j'ai passer pas mal de temps a bosse le c bon j'ai encor de tres gros progres a faire mais bon je me debrouille pas trop mal,bref j'aimerai en savoir plus sur la fonction main et notament sur ce que signifie les parametre qui lui sont passer a savoir: int main(int argc, char *argv[])
que veut dire argc,argv et pourquoi y a til un pointeur sur argv? merci d'avance pour votre aide
que veut dire argc,argv et pourquoi y a til un pointeur sur argv? merci d'avance pour votre aide
A voir également:
- Explication fonction main
- Fonction si et - Guide
- Fonction miroir - Guide
- Paris multiple 2/6 explication - Forum Excel
- [ParionsSport] Paris multiple, une arnaque ? ✓ - Forum Loisirs / Divertissements
- La main de la titi popo - Forum Musique / Radio / Clip
8 réponses
argc c'est le nombre d'arguments que tu passes au programme quand tu veux l'exécuter
et argv c'est un tableau qui contient les argument passé au programme
et argv c'est un tableau qui contient les argument passé au programme
La fonction main
Si un programme est une suite de déclarations, il doit contenir au moins une définition de fonction, la fonction principale de nom main ; l'exécution du programme commence par cette fonction. C'est elle qui appelera éventuellement les autres fonctions. Elle permet de communiquer avec le système d'exploitation. Dans sa forme la plus simple, c'est une fonction sans argument, qui retourne un int ; sa définition minimale est la suivante :
int main() {
return 0;
}
Si un programme est une suite de déclarations, il doit contenir au moins une définition de fonction, la fonction principale de nom main ; l'exécution du programme commence par cette fonction. C'est elle qui appelera éventuellement les autres fonctions. Elle permet de communiquer avec le système d'exploitation. Dans sa forme la plus simple, c'est une fonction sans argument, qui retourne un int ; sa définition minimale est la suivante :
int main() {
return 0;
}
oki je comprend le premiers argc mais tj pas argv pk utiliser un tableau pourriez vous m'eclairer d'avantage merci
oik alors donc apres avoir relu les commentaire si je comprend bien les argument que je passe via main son copier dans un tableau en gros c'est ça n'est ce pas ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
la fonction main avec ce prototype :
int main(int argc, char **argv)
permet de récupérer les éléments en ligne de comment.
argc : nombre de parametres
argv : tableau contenant les parametres
Supposons qu'à l'execution, tu tapes :
./exo un deux trois quatre
Dans ce cas, argc vaudra 5
argv[0] contiendra ./exo
argv[1] contiendra un
argv[2] contiendra deux
argv[3] contiendra trois
argv[4] contiendra quatre
int main(int argc, char **argv)
permet de récupérer les éléments en ligne de comment.
argc : nombre de parametres
argv : tableau contenant les parametres
Supposons qu'à l'execution, tu tapes :
./exo un deux trois quatre
Dans ce cas, argc vaudra 5
argv[0] contiendra ./exo
argv[1] contiendra un
argv[2] contiendra deux
argv[3] contiendra trois
argv[4] contiendra quatre
argv est un tableau de char * donc de chaine de caractere
par exemple tu veux lancer ton programme avec trois arguments
alors tu tapes la ligne de commande
./prog un deux trois
a ce moment argc vaut 4 et tu as
argv[0] vaut prog
argv[1] vaut un
argv[2] vaut deux
argv[3] vaut trois
tu remarques bien que chaque case du tableau argv contient un char * (prog,un,deux,etc..) voila pourquoi c'est un tableau
j'espere que tu as mieux compris la ;)
par exemple tu veux lancer ton programme avec trois arguments
alors tu tapes la ligne de commande
./prog un deux trois
a ce moment argc vaut 4 et tu as
argv[0] vaut prog
argv[1] vaut un
argv[2] vaut deux
argv[3] vaut trois
tu remarques bien que chaque case du tableau argv contient un char * (prog,un,deux,etc..) voila pourquoi c'est un tableau
j'espere que tu as mieux compris la ;)
d'accord je comprend mieux maintenant (dsl d'avoir tarder a repondre) mersi pour ses explication jy voit plus clair maintenant,merci a vous tous et bonne soiree
ps ayant bien comprit grace a vos explication je poste le message en resolut merci encore a vous
ps ayant bien comprit grace a vos explication je poste le message en resolut merci encore a vous
Salut,
et voici l'exemple de ce que petite info t'as donné
et voici l'exemple de ce que petite info t'as donné
lami20j@debian:~$ cat main.c
#include <stdio.h>
int main(int argc,char **argv){
int i;
for(i=0;i<argc;printf("argv[%d] : %s\n",i-1,argv[i++]))
;
return 0;
}
lami20j@debian:~$ gcc main.c -o main
lami20j@debian:~$ ./main un deux trois quatre
argv[0] : ./main
argv[1] : un
argv[2] : deux
argv[3] : trois
argv[4] : quatre