Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1378 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Appel de fonction dans fonction : PROBLEME!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Appel de fonction dans fonction : PROBLEME!

n°2178830
naneba2
Posté le 05-03-2013 à 18:41:43  profilanswer
 

Bonjour a tous,
J'ai un problème lors de l'appel d'une fonction("fct1" ) C dans une autre fonction ("fct2" ) C.
 
La fonction (1) me retourne un tableau (dont la taille ne m'est pas connue)
La fonction (2) doit se servir de ce tableau pour des calculs.
 
Je ne sais pas comment faire;

Code :
  1. double tab_fct1[];
  2. tab_fct1 = fct2(a,b);


 
Ne marche pas :(
Des idées??
Merci merci
++
Nane

mood
Publicité
Posté le 05-03-2013 à 18:41:43  profilanswer
 

n°2178831
gilou
Modérateur
Modzilla
Posté le 05-03-2013 à 18:55:05  profilanswer
 

Quand on a un tableau dont la taille n'est pas connue, cela veut dire qu'on va probablement utiliser un pointeur pour accéder au contenu du tableau.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2178832
naneba2
Posté le 05-03-2013 à 19:24:03  profilanswer
 

Re,
Ok pour le pointeur (pour accéder au contenu) mais il faut bien que j'attribue un tableau au résultat de ma fonction ?

n°2178833
theshockwa​ve
I work at a firm named Koslow
Posté le 05-03-2013 à 19:39:58  profilanswer
 

naneba2 a écrit :

Re,
Ok pour le pointeur (pour accéder au contenu) mais il faut bien que j'attribue un tableau au résultat de ma fonction ?


 
En général, on utilise un pointeur sur le premier élément du tableau quand dans ce genre de situation.
D'ailleurs, même quand tu définis une fonction qui prend un argument de type tableau, ton compilateur te cache le fait que c'est seulement un pointeur vers le premier élément qui est transmis ... Mais dans la pratique, c'est ce qui se passe.


---------------
last.fm
n°2178857
gilou
Modérateur
Modzilla
Posté le 05-03-2013 à 23:30:55  profilanswer
 

naneba2 a écrit :

Re,
Ok pour le pointeur (pour accéder au contenu) mais il faut bien que j'attribue un tableau au résultat de ma fonction ?

Par pointeur on a dit

Code :
  1. machin *ma_fonction(truc, nb_de_machin) {
  2.   // on alloue un tableau de nb_de_machin machin
  3.   machin *les_machins = malloc(nb_de_machin * sizeof(machin));
  4.   // on fait qque chose avec truc et les_machins
  5.   ...
  6.   // on retourne le tableau alloué
  7.   return les_machins;
  8. }


 
A+,


Message édité par gilou le 05-03-2013 à 23:33:00

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2179000
naneba2
Posté le 06-03-2013 à 15:50:06  profilanswer
 

Merci beaucoup!

n°2179122
Sve@r
Posté le 07-03-2013 à 08:52:52  profilanswer
 

Salut
 
Pour faire suite au post de gilou, tu utilises le pointeur retourné exactement comme un tableau
 

Code :
  1. void fct()
  2. {
  3.     machin *tab;
  4.     int i;
  5.     tab=ma_fonction(truc, 512);
  6.     for (i=0; i < 512; i++)
  7.         printf("machin[%d]=%s\n", i, tab[i]);
  8.     // Tu peux aussi, comme pour tout tableau, utiliser un second pointeur ce qui évite l'indexation [i]
  9.     machin *pt;
  10.     for (i=0, pt=tab; i < 512; i++, pt++)
  11.         printf("machin[%d]=%s\n", i, *pt);
  12.     // Surtout ne pas oublier de libérer le tableau en fin de travail
  13.     // Car la fonction l'a allouée via malloc()
  14.     free(tab);
  15. }


Message édité par Sve@r le 07-03-2013 à 08:55:08

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Appel de fonction dans fonction : PROBLEME!

 

Sujets relatifs
Code Html pour une fonction multiplication (débutant)[JAVA/STRUST] problème d'encodage
[RESOLU] problème de temps dans un userformProbleme espace membre
VBA: Problème Lecture/Ecriture en simultané sur Access[VBA] fonction paramétré renvoyant le résultat d'une requête ACCESS
Probleme d'appel de fonction php via onclickVBA - Probleme Appel de fonction
[ASP] Probleme pour un appel à une fonction asp sous htmlProblème avec un appel de fonction
Plus de sujets relatifs à : Appel de fonction dans fonction : PROBLEME!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR