Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : question sur les pointeur et tableau et matrice [ Archives / Divers ] (Battousai)

samedi 15 mai 2004 à 14:37:52 | question sur les pointeur et tableau et matrice

Battousai

bonjour a tous,
ma question se porte comme indiqué si dessus sur l'utilisation des pointeur avec les tableau et surtout les matrices ou plus.

d'abord j'aimerait savoir s'il est preferable en point de vue de perfermane et optimabilite du code d'utiliser les poiteurs avec ces strucures de donnee en les passants comme arguments dans les fonction (c'etait un exemple) ou non?(comment fait le compilateur enfait?)

ensuite j'aimerait savoir comment vous faite vous les programmeur pour utiliser un pointeur pour acceder a des elements d'une matrice au plus (le cas d'une matrice est suffisant pour comprendre le principe) passé comme argument dans une fonction,y a t-il une syntaxe pour acceder a un element et a la declaration de la fonction et de son prototype ?

merci d'avance et bon courage a tous



samedi 15 mai 2004 à 14:51:25 | Re : question sur les pointeur et tableau et matrice

djl


int matrice4x4[4][4];

...

void Matrice4x4_LoadIdentity(int mat[][4])
{
mat[0][0]=1;
...
}

quand tu passe un tableau en parametre, c'est en realite un pointeur (et non son adresse) sur ce tableau qui est passé a la fonction

j'ai pas trop compris ta 2e question, tu aurait un exemple?

lundi 17 mai 2004 à 17:00:36 | Re : question sur les pointeur et tableau et matrice

Battousai

merci djl de m'avoir eclairci ceci,

maintenant bien que c'est unitile mais j'aimerait aussi le comprendre , ma deuziemme question etait: si j'utilise maitenant un pointeur comme parmetre pour acceder a la matrice non pas comme tu me l'a montre

void Matrice4x4_LoadIdentity(int mat[][4])
{
mat[0][0]=1;
...
}

mais comme ca

void tableau_loadIdentity( int * tab)
{
*(tab+i)=1; /*pour acceder a la case i*/
/*on peut aussi incrementer le tab directement*/
while ("un condition")
{
//traitement qlq
tab++; //nous fait passer a la case suivante
.
.
.
}

bien sur le tableau devrait etre declare com dab,
mais dans l'appel on ainsi
nomdelafonction(tab); //puisque tab est un pointeur

voila ceci etant pour un tableau maintenant pour une matrice je sait que ca differe une peu et qu'il y a une methode que je trouve pas


lundi 17 mai 2004 à 20:25:01 | Re : question sur les pointeur et tableau et matrice

djl


oui exactement

les elements sont contigue en memoire et tu peux l'utiliser comme un pointeur

tu peut neamoins indexer comme un tableau 2d

void tableau_loadIdentity( int * tab, size_t size, size_t nbCol)
{

// accede a l'element 3,5 par exemple

tab[ 3*nbCol +5 ]=10;
}

si tu ve regarde ma classe tableau 2d, j'ai redefini l'operateur () qui fait exactement la meme chose

http://www.cppfrance.com/code.aspx?ID=22840



Cette discussion est classé dans : fonction, tableau, question, pointeur, matrice


Répondre à ce message

Sujets en rapport avec ce message

Structures en C / Win2k / Dev-Cpp [ par BaptX ] Bonjour à tous,J'aurai quelques questions à vous poser en ce qui concerne le passage de structures en C. Comme c'est un peu comme les pointeurs, je me declaration d'une matrice dans le prototype d'une fonction ?? [ par mrdaryx ] Bonnjour.J'aimerais savoir comment déclarer une matrice (tableau[lignes][colonnes]) dans le prototype de ma fonction car quand je met :void fonction(t une question [ par deck_bsd ] Bonsoir tous le monde, Voila une question me trote dans la tête depuis quelque temps. Et notament qu'en j'ai vu la signature de la fonction strdup : [C] Probleme de passage d'un pointeur de tableau [ par tenev911 ] Bonjour, voici mon probleme :J'utilise la librairie ncurses.h et il permet de faire un type de variable appellé WINDOW (qui correspond graphiquement à qsort fonctionnement? [ par deck_bsd ] Bonjour a tous,Voila, je voudrai trier ce tableau :char nt[][100] = {"un","trois","quatre","cinq","a","bb","b","axxxxxxxxxxxxxxxxxxx"};Avec la fonctio Triangle de Pascal [ par nadias ] Salut à tous,J'essais de traiter cette exercice mais je ne sais vraiment pas comment proceder.Pourriez-vous SVP m'aider.Je ne demande pas une solution Petit probleme avec un tableau [ par petitavion414 ] Salut à tous...J'ai un petit problème mais que je n'arrive pas à résoudre.Comment puis-ju passer en argument un tableau dans une fonction... Je m'expl derive math [ par jalal_yassine ] derive(ichtikak)bonsoirje suis un nouveau ici dans le forumbaah j'ai poser mon question ici puisque je sais qu'il a beaucoup des engenieurs ou des gen passer un tableau dynamique en paramètre d'une fonction [ par Cascador ] Bonjour, Je développe un programme en dev C++. J'ai créer un tableau dynamique, et j'ai besoin de le passer en paramètre, mais il n'y a rien à faire Convertir un tableau de vecteur de String en pointeur [ par fcoutel ] Bonjour, J'ai cree un tableau dynamique a 2D de type string vector> tab,  je voudrais savoir quel est le meilleur moyen de le convertir en char***.M


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.