struct tableau ds 1 fonction ...

struct tableau ds 1 fonction ... - C++ - Programmation

Marsh Posté le 04-11-2002 à 20:16:37    

comment fait on pour declarer un struct tableau en parametre ds une fonction ?
et avec pointeur c different ?
merci

Reply

Marsh Posté le 04-11-2002 à 20:16:37   

Reply

Marsh Posté le 04-11-2002 à 20:34:42    

const std::vector<T> &


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 04-11-2002 à 20:51:54    

g rien compris ...  
mon prog est en C
mon prob est le suivant ...
je voudrais modifier 1 struct tableau avec 1 fonction  
comment declare t-on le struct tableau ds ma fonction ?
pareil ds le prototype , je sais pas ce ki faut mettre ...
 
voila mon struct et la declaration du struct tableau ke je veux modifier :
 
struct tr
{
  int ntr;
  int h;
  int iq;
  int ip;
};
 
void a(?)   ---> la fonction ki doit modif mon struct  
{  
 
}
 
void main()
{
struct tr t[8];
void a(?);   ----->  prototype de la fonction
 
 
 
a(&t); --> appel de la fonction
}
 
 
kan y a 1 "?" c ke je sais pas ce k'il faut mettre ...
 
si kelk'1 veut m'aider !   merci !!

Reply

Marsh Posté le 04-11-2002 à 21:03:13    

renomme ton topic en [C] et je te reponds


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 04-11-2002 à 21:09:35    

taz@ppc a écrit a écrit :

renomme ton topic en [C] et je te reponds




 :pt1cable: il est pire que moi

Reply

Marsh Posté le 04-11-2002 à 21:12:04    

un tableau, c'est un pointeur.
donc deja, a moins que tu veuilles modifier le tableau lui même (a mon avis non, tu veux juste modifier le contenu), tu n'a pas besoin de preciser son adresse.
 

Code :
  1. void a(struct tr * tab)
  2. }
  3. void main()
  4. {
  5. struct tr t[8];
  6. /*
  7. void a(?);
  8. un prototype n'a RIEN a faire dans le corps d'une fonction
  9. */
  10. a(t);
  11. }

Reply

Marsh Posté le 04-11-2002 à 21:39:36    

lorill a écrit a écrit :

un tableau, c'est un pointeur.
donc deja, a moins que tu veuilles modifier le tableau lui même (a mon avis non, tu veux juste modifier le contenu), tu n'a pas besoin de preciser son adresse.
 

Code :
  1. void a(struct tr * tab)
  2. }
  3. void main()
  4. {
  5. struct tr t[8];
  6. /*
  7. void a(?);
  8. un prototype n'a RIEN a faire dans le corps d'une fonction
  9. */
  10. a(t);
  11. }






 
un prototype dans une fonction c'est une manière de déclarer quelle fonction on utilise comme un using en C++


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 04-11-2002 à 21:42:04    

taz@ppc a écrit a écrit :

 
un prototype dans une fonction c'est une manière de déclarer quelle fonction on utilise comme un using en C++




 
et du coup le prototype n'est connu que localement a la fonction ? ca existe, ca ? ben je savais pas.

Reply

Marsh Posté le 04-11-2002 à 22:30:40    

cf K&R


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 06-11-2002 à 04:31:39    

On peut aussi faire ça:

Code :
  1. #define DIM 8
  2. struct tr{
  3. int a;
  4. };
  5. typedef struct tr tr; //marre de répéter struct !  
  6. void a(tr (*tabptr)[DIM])
  7. {
  8. (*tabptr)[0]= 22 ; //accès au tableau
  9. }
  10. int main(){
  11. tr t[8];
  12. a(&t);
  13. return 0;
  14. }


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Marsh Posté le 06-11-2002 à 04:31:39   

Reply

Marsh Posté le 06-11-2002 à 10:48:09    

Plutot que

Code :
  1. struct tr{
  2.      int a;
  3.   };
  4.  
  5.   typedef struct tr tr;//marre de répéter struct !

 
Ceci ne serait il pas plus simple?

Code :
  1. typedef struct {
  2. int a;
  3. }tr;


 
A+,


Message édité par gilou le 06-11-2002 à 10:48:52

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 07-11-2002 à 23:24:58    

Bien sûr, je décomposais l'action pour une meilleure compréhension.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed