Passage des parametres a une fonction en c++
Résolu
asma sisi
Messages postés
96
Date d'inscription
Statut
Membre
Dernière intervention
-
togodo Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
togodo Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis étudiante en deuxième année licence informatique (LMD) et on étudie on fait notre programmation avec le c++; ma question est
Lors du passage d'un tableau comme paramètre a une fonction on a deux façon l'une que je la maitrise est introduite sous cet exemple:
méthode 1:
#include<iostream>
void fct (int*t,......)
{
/* le t est un pointeur vers un entier qui est le premier élément du tableauet pour manipuler les autres cases du tableau en met *(t+i) tel que i est l'indice de la case voulu*/
.........
}
int main()
{
int tab[30];
....
........
/*l'appelle de la fct avec notre tableau déclaré dans le main*/
fct (tab,.....);
/*alors on va copier l'adresse du premier élément du tableau tab dans l'argument t de fct qui est (t un pointeur de ) */
}
méthode 2:
cet méthode consiste a mettre ca:
#include<iostream>
void fct (int t[],......)
{
.........
}
int main()
{
int tab[30];
........
/*l'appelle de la fct avec notre tableau déclaré dans le main*/
fct (tab,.....);
}
ma question est :
dans la deuxième méthode on va copier l'adresse du premier élément du tableau dans l'argument de la fonction fct qui doit être un pointeur mais dans l'argument de fct en a mis int tab[] et moi je pense que le type doit être int*
Si vous pouvez m'expliquer ou peut être me corriger
je m'excuse de la longueur du message et peut être des fautes
cordialement sisi
}
je suis étudiante en deuxième année licence informatique (LMD) et on étudie on fait notre programmation avec le c++; ma question est
Lors du passage d'un tableau comme paramètre a une fonction on a deux façon l'une que je la maitrise est introduite sous cet exemple:
méthode 1:
#include<iostream>
void fct (int*t,......)
{
/* le t est un pointeur vers un entier qui est le premier élément du tableauet pour manipuler les autres cases du tableau en met *(t+i) tel que i est l'indice de la case voulu*/
.........
}
int main()
{
int tab[30];
....
........
/*l'appelle de la fct avec notre tableau déclaré dans le main*/
fct (tab,.....);
/*alors on va copier l'adresse du premier élément du tableau tab dans l'argument t de fct qui est (t un pointeur de ) */
}
méthode 2:
cet méthode consiste a mettre ca:
#include<iostream>
void fct (int t[],......)
{
.........
}
int main()
{
int tab[30];
........
/*l'appelle de la fct avec notre tableau déclaré dans le main*/
fct (tab,.....);
}
ma question est :
dans la deuxième méthode on va copier l'adresse du premier élément du tableau dans l'argument de la fonction fct qui doit être un pointeur mais dans l'argument de fct en a mis int tab[] et moi je pense que le type doit être int*
Si vous pouvez m'expliquer ou peut être me corriger
je m'excuse de la longueur du message et peut être des fautes
cordialement sisi
}
A voir également:
- Passage des parametres a une fonction en c++
- Fonction si et - Guide
- Parametres de mon ordinateur - Guide
- Passage qwerty azerty - Guide
- Paramètres dns - Guide
- Passage à windows 11 gratuit - Guide
1 réponse
Tu t'embrouilles,
dans la définition de la fonction fct : int *a et int a[] signifie la même chose ce sont des pointeurs renvoyant la même adresse,
a[0] renvoie la valeur du premier élément tout comme *a.
a[1] deuxième *(a+1).
On peut utiliser les * ou [] , mais c'est plus évident d'utiliser des [].
dans la définition de la fonction fct : int *a et int a[] signifie la même chose ce sont des pointeurs renvoyant la même adresse,
a[0] renvoie la valeur du premier élément tout comme *a.
a[1] deuxième *(a+1).
On peut utiliser les * ou [] , mais c'est plus évident d'utiliser des [].