Quelqu'un peut il m'expliquer ?
julen
-
wiwi -
wiwi -
Quelqu'un peut il repondre a ces 2 questions ?
Lors de l'execution d'un programme, expliquez la différence entre un passage de parametres par reference et un passage de parametres par valeur.
expliquez la structure et le mécanisme d'une pile d'execution .
merci.
Lors de l'execution d'un programme, expliquez la différence entre un passage de parametres par reference et un passage de parametres par valeur.
expliquez la structure et le mécanisme d'une pile d'execution .
merci.
A voir également:
- Quelqu'un peut il m'expliquer ?
- Qui peut m'expliquer : adresse de broadcast - Forum Windows
- Quelqu'un peux m'expliquer se que sa veux dire ses graphique ? ✓ - Forum logiciel systeme
- Chez elle, bérénice navigue sur le web avec sa tablette. soudain, la page d’erreur ci-dessous s’affiche dans son navigateur. sa sœur a le même problème sur son ordinateur portable connecté au même réseau que bérénice. plusieurs raisons peuvent expliquer le problème rencontré par bérénice, lesquelles ? ✓ - Forum Virus
- Expliquer moi se que sait que noreply - Forum Mail
- SVP HELP ME TOUT EXPLIQUER DANS LE TOPIC - Forum Java
3 réponses
salut julen
deja essaie de ne pas poster tes demandes en double. merci.
ensuite pour la difference valeur/reference c'est simple:
si tu passe ta variable par valeur, son contenu est recopie
donc tu ne peux pas la modifier..
par exemple si tu as une fonction mafonction(int i) cette fonctionpourra utiliser la valeur de i (par exemple 2) mais ne pourra pas la changer.
si tu le passe par parametre : mafonction(int i*) alors la si tu modifies la valeurde i dans ta fonction la modification sera effective aussi pour le reste du programme.
.O No parachute? Wow! This is so cool!
(_)__... Castor
deja essaie de ne pas poster tes demandes en double. merci.
ensuite pour la difference valeur/reference c'est simple:
si tu passe ta variable par valeur, son contenu est recopie
donc tu ne peux pas la modifier..
par exemple si tu as une fonction mafonction(int i) cette fonctionpourra utiliser la valeur de i (par exemple 2) mais ne pourra pas la changer.
si tu le passe par parametre : mafonction(int i*) alors la si tu modifies la valeurde i dans ta fonction la modification sera effective aussi pour le reste du programme.
.O No parachute? Wow! This is so cool!
(_)__... Castor
+++le passage par paramettre de la variable a par exple:
si par exple la valeur de a est 5 avant l appel de la fonction
a la fin de l execution de la fonction vous aurez la meme valeur qui est 5 meme si la variable 'a' a ete chager au cour de la fction
+++le passege de reference ou adresse
la valeur de 'a' change s il y a des instruction a l interieur de la fonction ki agissent sur le contenu de cette variable
exple
void fctVal (int a)
{
a++;
printf("a l interieur de fctVal %d",a);
}
void fctRef(int &a)
{
a++;
printf("a linterieur de fctRef %d",a);
}
void main()
{
int b;
b=3;
fctVal(a);//affiche a linterieur de fctVal 4
printf("%d",b);//affiche 3
fctRef(a);//affiche a linterieur de fctRef 4
printf("%d",b);//affiche 4
}
si par exple la valeur de a est 5 avant l appel de la fonction
a la fin de l execution de la fonction vous aurez la meme valeur qui est 5 meme si la variable 'a' a ete chager au cour de la fction
+++le passege de reference ou adresse
la valeur de 'a' change s il y a des instruction a l interieur de la fonction ki agissent sur le contenu de cette variable
exple
void fctVal (int a)
{
a++;
printf("a l interieur de fctVal %d",a);
}
void fctRef(int &a)
{
a++;
printf("a linterieur de fctRef %d",a);
}
void main()
{
int b;
b=3;
fctVal(a);//affiche a linterieur de fctVal 4
printf("%d",b);//affiche 3
fctRef(a);//affiche a linterieur de fctRef 4
printf("%d",b);//affiche 4
}
bonjour,
lorsque qu'une fonction est appelee, les parametres de la function sont sauvegardees dans la pile d'execution. En sortie de fonction, les variables entrees en parametre reprennent leur valeur initiale stockee dans la pile.
1)Lorsqu'une variable valeur est passee en parametre, elle recupere sa valeur initiale une fois sortie de la fonction.
soit:
fonction f( int a)
{
a++;
}
a l'appel de la fonction
pile[x]=a;
en sortie de fonction
a=pile[x];
2)Lorsqu'une viarable adresse est passee en parametre, la fonction ne modifie pas la valeur de cette variable mais celle de la variable pointee. Ainsi en sortie de fonction, la valeur initiale de de ton parametre est restituee, mais elle n'a jamais ete changee elle-meme...
soit:
fontion f2(adresse de a)
{
a++;
}
appel de la fonction
pile[x]=adresse de a;
en sortie de fonction
adresse de a = pile[x];
Or l'adresse de a n'a pas bougee mais la valeur de a a bel et bien ete changee !
C pas tres clair mais c tout ce que je peux faire :D
lorsque qu'une fonction est appelee, les parametres de la function sont sauvegardees dans la pile d'execution. En sortie de fonction, les variables entrees en parametre reprennent leur valeur initiale stockee dans la pile.
1)Lorsqu'une variable valeur est passee en parametre, elle recupere sa valeur initiale une fois sortie de la fonction.
soit:
fonction f( int a)
{
a++;
}
a l'appel de la fonction
pile[x]=a;
en sortie de fonction
a=pile[x];
2)Lorsqu'une viarable adresse est passee en parametre, la fonction ne modifie pas la valeur de cette variable mais celle de la variable pointee. Ainsi en sortie de fonction, la valeur initiale de de ton parametre est restituee, mais elle n'a jamais ete changee elle-meme...
soit:
fontion f2(adresse de a)
{
a++;
}
appel de la fonction
pile[x]=adresse de a;
en sortie de fonction
adresse de a = pile[x];
Or l'adresse de a n'a pas bougee mais la valeur de a a bel et bien ete changee !
C pas tres clair mais c tout ce que je peux faire :D