écrire une fonction avec un nombre d'arguments variables

cs_thespartan Messages postés 36 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 26 mai 2008 - 10 juin 2007 à 16:07
cs_thespartan Messages postés 36 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 26 mai 2008 - 11 juin 2007 à 20:25
Je fais de la compilation séparée et j'aimerais éviter autant que possible l'utilisation de variables globales ou de extern (pas parceque je sais pas utilser mais par soucis de modularité). J'aimerais écrire une fonction qui peut prendre en théorie un nombre infini d'argument, comme la fonction main (int argc, char **argv); . Je veux que ces argument infinis soient des tableaux 2D. Donc j'aimerais que ces arguments correspondent à l'adresse des tableaux que je désire récupérer. Mais je ne suis pas très à l'aise avec les pointeurs et peut-être que ce n'est pas possible de faire ce que je veux de cette façon... Ces tableaux seront définis et remplis dans fichier1.c tandis que dans fichier2.c je dessinerais des points dont les coordonnées sont stockées dans ces tableaux. Je peux apporter plus de précisions si nécessaire... merci!

Spartan

3 réponses

HSylvio Messages postés 116 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 14 juin 2012
11 juin 2007 à 11:56
C'est bizarre mais on dirait que la réponse est dans la question :
    as tu essayé de créer ta fonction d'affichage (avec des printf (coordonnées) pour commencer) qui ressemble à
affiche2DPts (int tailleX, int tailleY, double **tab2D) ou affiche2DPts (int tailleX, int *tailleY, double **tab2D) ou pourquoi ta fonction d'affichage n'irai pas appeler
coord getValues(i,j) ou un
double **getTab2D() avec, si tu veux, la dimension de ton tableau en [0][0]
et si oui qu'est-ce qui n marche ou correspond pas??
0
acx01b Messages postés 280 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 8 juillet 2014 6
11 juin 2007 à 14:28
salut

"Mais je ne suis pas très à l'aise avec les pointeurs"

dis nous plutôt ce qui te pose problème avec les pointeurs (adresses) !

a+
0
cs_thespartan Messages postés 36 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 26 mai 2008
11 juin 2007 à 20:25
Je dessine en OpenGL, je voulais donnais un argument à ma fontion display( );  appelée par glutDisplayFunc(display);. Mais c'est de toute façon impossible d'après mes recherches. De toute façon je devrais me débrouiller avec des variables globales.

@[auteurdetail.aspx?ID=310560 HSylvio] 
: j'ai déjà écrit ces fonctions mais je ne vois pas en quoi elle répondent à ma question
@[auteurdetail.aspx?ID=161232 acx01b]: je vais essayer d'être le plus clair possible.

Oublions mon post précdédent.
Imaginons que j'ai N tableaux 2d à afficher, plutôt que de faire une boucle et d'appeler  par exemple la fonction d'affichage avec chacun de ces tableaux, j'aimerais appeler une fois la fonction d'affichage avec tout ces tableaux en argument, donc en 1er arg le nombre N de tableaux et en 2éme un tableau d'adresses (des tableaux 2d). Donc comment allouer de la mémoire pour un tableau d'adresses? et comment le remplir?

Spartan
0