comment puis je passer une tableau entre un programme et une fonction ?
(dans les deux sens) passer un tableau comme argument de la fonction ou
la fonction qui retourne un tableau
merci
didier
ps : tant que j'y suis, comment creer un tableau de taille variable quand on
ne connait pas sa taille à l'avance
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Benjamin Renaut
comment puis je passer une tableau entre un programme et une fonction ? (dans les deux sens) passer un tableau comme argument de la fonction ou la fonction qui retourne un tableau Il faut utiliser les pointeurs.
Si tu ne connais pas les pointeurs, mieux vaudrait se renseigner avant : http://perso.wanadoo.fr/carlov/cours/chap2/pointeurs.html http://casteyde.christian.free.fr/cpp/cours/online/c1535.html Ces pages sont trés bien et tu devrais y comprendre sans peine le mécanisme des pointeurs. En gros, ce sont des variables "pointant" (désignant) d'autres variables - les pointeurs contiennent l'adresse mémoire d'une variable, et permettent donc d'y accéder. Pour passer un tableau a une fonction, tu vas passer en parametre un pointeur vers ce tableau, et sa taille (sauf si c'est un tableau de char, auquel cas tu sauras quand le tableau s'achévera grace au caractère terminator ' ' et le passage de la taille est donc superflu). Tu dispose alors dans la fonction de tous ce qu'il te faut pour l'accés au tableau : l'adresse mémoire du début du tableau, et sa taille.
ps : tant que j'y suis, comment creer un tableau de taille variable quand on ne connait pas sa taille à l'avance Il s'agit du mécanisme de mémoire dynamique. Là aussi, je te renvoi aux
cours plus haut. En fait, il faut créer un tableau dans le tas (et non plus dans la pile) de ta mémoire à l'aide d'opérateurs spécifiques, et lui attribuer une taille pendant l'exécution du programme. C'est là aussi un fondement de la programmation en C++ (et même de la programmation en général), tout comme les pointeurs.
Donc, lis les cours des pages que j'ai collé plus haut, ça devrait t'aider.
comment puis je passer une tableau entre un programme et une fonction ?
(dans les deux sens) passer un tableau comme argument de la fonction ou
la fonction qui retourne un tableau
Il faut utiliser les pointeurs.
Si tu ne connais pas les pointeurs, mieux vaudrait se renseigner avant :
http://perso.wanadoo.fr/carlov/cours/chap2/pointeurs.html
http://casteyde.christian.free.fr/cpp/cours/online/c1535.html
Ces pages sont trés bien et tu devrais y comprendre sans peine le
mécanisme des pointeurs.
En gros, ce sont des variables "pointant" (désignant) d'autres variables
- les pointeurs contiennent l'adresse mémoire d'une variable, et
permettent donc d'y accéder. Pour passer un tableau a une fonction, tu
vas passer en parametre un pointeur vers ce tableau, et sa taille (sauf si
c'est un tableau de char, auquel cas tu sauras quand le tableau
s'achévera grace au caractère terminator ' ' et le passage de la taille
est donc superflu). Tu dispose alors dans la fonction de tous ce qu'il te
faut pour l'accés au tableau : l'adresse mémoire du début du tableau,
et sa taille.
ps : tant que j'y suis, comment creer un tableau de taille variable
quand on ne connait pas sa taille à l'avance
Il s'agit du mécanisme de mémoire dynamique. Là aussi, je te renvoi aux
cours plus haut. En fait, il faut créer un tableau dans le tas (et non
plus dans la pile) de ta mémoire à l'aide d'opérateurs spécifiques, et
lui attribuer une taille pendant l'exécution du programme. C'est là
aussi un fondement de la programmation en C++ (et même de la
programmation en général), tout comme les pointeurs.
Donc, lis les cours des pages que j'ai collé plus haut, ça devrait
t'aider.
comment puis je passer une tableau entre un programme et une fonction ? (dans les deux sens) passer un tableau comme argument de la fonction ou la fonction qui retourne un tableau Il faut utiliser les pointeurs.
Si tu ne connais pas les pointeurs, mieux vaudrait se renseigner avant : http://perso.wanadoo.fr/carlov/cours/chap2/pointeurs.html http://casteyde.christian.free.fr/cpp/cours/online/c1535.html Ces pages sont trés bien et tu devrais y comprendre sans peine le mécanisme des pointeurs. En gros, ce sont des variables "pointant" (désignant) d'autres variables - les pointeurs contiennent l'adresse mémoire d'une variable, et permettent donc d'y accéder. Pour passer un tableau a une fonction, tu vas passer en parametre un pointeur vers ce tableau, et sa taille (sauf si c'est un tableau de char, auquel cas tu sauras quand le tableau s'achévera grace au caractère terminator ' ' et le passage de la taille est donc superflu). Tu dispose alors dans la fonction de tous ce qu'il te faut pour l'accés au tableau : l'adresse mémoire du début du tableau, et sa taille.
ps : tant que j'y suis, comment creer un tableau de taille variable quand on ne connait pas sa taille à l'avance Il s'agit du mécanisme de mémoire dynamique. Là aussi, je te renvoi aux
cours plus haut. En fait, il faut créer un tableau dans le tas (et non plus dans la pile) de ta mémoire à l'aide d'opérateurs spécifiques, et lui attribuer une taille pendant l'exécution du programme. C'est là aussi un fondement de la programmation en C++ (et même de la programmation en général), tout comme les pointeurs.
Donc, lis les cours des pages que j'ai collé plus haut, ça devrait t'aider.
Fabien LE LEZ
On Mon, 22 Dec 2003 21:16:50 +0100, "Didier" wrote:
comment puis je passer une tableau entre un programme et une fonction ? (dans les deux sens) passer un tableau comme argument de la fonction ou la fonction qui retourne un tableau
En C++, un tableau "de base" est de la forme std::vector<Type>. Il s'agit d'un objet tout à fait comme les autres, qu'on peut passer comme argument ou comme valeur de retour aussi facilement qu'un int.
On Mon, 22 Dec 2003 21:16:50 +0100, "Didier" <toto@wanadoo.fr> wrote:
comment puis je passer une tableau entre un programme et une fonction ?
(dans les deux sens) passer un tableau comme argument de la fonction ou
la fonction qui retourne un tableau
En C++, un tableau "de base" est de la forme std::vector<Type>. Il
s'agit d'un objet tout à fait comme les autres, qu'on peut passer
comme argument ou comme valeur de retour aussi facilement qu'un int.
On Mon, 22 Dec 2003 21:16:50 +0100, "Didier" wrote:
comment puis je passer une tableau entre un programme et une fonction ? (dans les deux sens) passer un tableau comme argument de la fonction ou la fonction qui retourne un tableau
En C++, un tableau "de base" est de la forme std::vector<Type>. Il s'agit d'un objet tout à fait comme les autres, qu'on peut passer comme argument ou comme valeur de retour aussi facilement qu'un int.
Le fait que le type est une référence non-const n'est-il pas déjà une documentation que tu as l'intention de le modifier ?
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
Fabien LE LEZ <gramster@gramster.com> wrote in message
news:<qm4fuv4fnrio7iur6hda6chrbtivnr6erj@4ax.com>...
[...]
Tu peux également le passer par référence non constante, si ta
fonction doit pouvoir le modifier (attention à bien documenter cette
fonctionnalité) :
Le fait que le type est une référence non-const n'est-il pas déjà une
documentation que tu as l'intention de le modifier ?
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
Le fait que le type est une référence non-const n'est-il pas déjà une documentation que tu as l'intention de le modifier ?
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
Fabien LE LEZ
On 23 Dec 2003 00:32:17 -0800, wrote:
Le fait que le type est une référence non-const n'est-il pas déjà une documentation que tu as l'intention de le modifier ?
Sans doute. Mais dans son cas (apparemment, il s'agit d'un débutant), documenter la fonctionnalité en question peut servir à se demander si c'est vraiment une bonne idée.
-- Fabien, qui se rattrape comme il peut ;-)
-- ;-)
On 23 Dec 2003 00:32:17 -0800, kanze@gabi-soft.fr wrote:
Le fait que le type est une référence non-const n'est-il pas déjà une
documentation que tu as l'intention de le modifier ?
Sans doute. Mais dans son cas (apparemment, il s'agit d'un débutant),
documenter la fonctionnalité en question peut servir à se demander si
c'est vraiment une bonne idée.
Le fait que le type est une référence non-const n'est-il pas déjà une documentation que tu as l'intention de le modifier ?
Sans doute. Mais dans son cas (apparemment, il s'agit d'un débutant), documenter la fonctionnalité en question peut servir à se demander si c'est vraiment une bonne idée.
-- Fabien, qui se rattrape comme il peut ;-)
-- ;-)
Didier
En effet, je débute en C++ merci pour votre aide, rien ne vaut un exemple. je vais suivre vos conseils, dans ma fonction je modifie le tableau. Vous avez raison, il faut bien documenter son programme, sinon il sera difficile de maintenir le code.
Encore merci Didier
"Fabien LE LEZ" a écrit dans le message de news:
On 23 Dec 2003 00:32:17 -0800, wrote:
Le fait que le type est une référence non-const n'est-il pas déjà une documentation que tu as l'intention de le modifier ?
Sans doute. Mais dans son cas (apparemment, il s'agit d'un débutant), documenter la fonctionnalité en question peut servir à se demander si c'est vraiment une bonne idée.
-- Fabien, qui se rattrape comme il peut ;-)
-- ;-)
En effet, je débute en C++
merci pour votre aide, rien ne vaut un exemple.
je vais suivre vos conseils, dans ma fonction je modifie le tableau.
Vous avez raison, il faut bien documenter son programme, sinon
il sera difficile de maintenir le code.
Encore merci
Didier
"Fabien LE LEZ" <gramster@gramster.com> a écrit dans le message de
news:u44guvkbpcb5uhjtodt0i4kcv4q9t9udfq@4ax.com...
On 23 Dec 2003 00:32:17 -0800, kanze@gabi-soft.fr wrote:
Le fait que le type est une référence non-const n'est-il pas déjà une
documentation que tu as l'intention de le modifier ?
Sans doute. Mais dans son cas (apparemment, il s'agit d'un débutant),
documenter la fonctionnalité en question peut servir à se demander si
c'est vraiment une bonne idée.
En effet, je débute en C++ merci pour votre aide, rien ne vaut un exemple. je vais suivre vos conseils, dans ma fonction je modifie le tableau. Vous avez raison, il faut bien documenter son programme, sinon il sera difficile de maintenir le code.
Encore merci Didier
"Fabien LE LEZ" a écrit dans le message de news:
On 23 Dec 2003 00:32:17 -0800, wrote:
Le fait que le type est une référence non-const n'est-il pas déjà une documentation que tu as l'intention de le modifier ?
Sans doute. Mais dans son cas (apparemment, il s'agit d'un débutant), documenter la fonctionnalité en question peut servir à se demander si c'est vraiment une bonne idée.
-- Fabien, qui se rattrape comme il peut ;-)
-- ;-)
Fabien LE LEZ
On Tue, 23 Dec 2003 18:00:17 +0100, "Didier" wrote:
En effet, je débute en C++
Sur Usenet aussi apparemment :-( Merci de placer ta réponse sous le bout de texte auquel tu réponds (comme je le fais dans le présent message). Cf <http://www.giromini.org/usenet-fr/repondre.html> pour plus d'infos.
-- ;-)
On Tue, 23 Dec 2003 18:00:17 +0100, "Didier" <toto@wanadoo.fr> wrote:
En effet, je débute en C++
Sur Usenet aussi apparemment :-(
Merci de placer ta réponse sous le bout de texte auquel tu réponds
(comme je le fais dans le présent message).
Cf <http://www.giromini.org/usenet-fr/repondre.html> pour plus
d'infos.
On Tue, 23 Dec 2003 18:00:17 +0100, "Didier" wrote:
En effet, je débute en C++
Sur Usenet aussi apparemment :-( Merci de placer ta réponse sous le bout de texte auquel tu réponds (comme je le fais dans le présent message). Cf <http://www.giromini.org/usenet-fr/repondre.html> pour plus d'infos.
-- ;-)
Didier
"Fabien LE LEZ" a écrit dans le message de news:
On Tue, 23 Dec 2003 18:00:17 +0100, "Didier" wrote:
En effet, je débute en C++
Sur Usenet aussi apparemment :-( Merci de placer ta réponse sous le bout de texte auquel tu réponds (comme je le fais dans le présent message).
comme ça ?
Cf <http://www.giromini.org/usenet-fr/repondre.html> pour plus d'infos.
-- ;-)
"Fabien LE LEZ" <gramster@gramster.com> a écrit dans le message de
news:6o4huv8g59savcamstsvqmg2p7956ims4a@4ax.com...
On Tue, 23 Dec 2003 18:00:17 +0100, "Didier" <toto@wanadoo.fr> wrote:
En effet, je débute en C++
Sur Usenet aussi apparemment :-(
Merci de placer ta réponse sous le bout de texte auquel tu réponds
(comme je le fais dans le présent message).
comme ça ?
Cf <http://www.giromini.org/usenet-fr/repondre.html> pour plus
d'infos.