begin process at 2012 05 30 18:08:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

tableau de struct et fonction en C


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

tableau de struct et fonction en C

samedi 7 mai 2005 à 20:19:08 | tableau de struct et fonction en C

sim51

Membre Club
Bonjour à tous.
J'ai un petit problème de syntax, après plusieurs recherche sur le net, je n'ai pu ni affirmer ou ni infirmer la validation de mon code
Dans mon programme, je déclare un tableau de struct à deux dimensions :

typedef struct{
                      int x;
                      int y;
} point;
point tab[10][10];

ensuite, j'ai écrit une fonction pour modifier son contenu, et c'est là où je ne suis pas sur :

void modifi_tableau( point tab[10][10]){
      tab[1][1].x = 2;
      ...
}

ensuite pour appeler ma fonction je fais :

modifi_tableau(tab);

Cependant je me pose la question si je ne dois pas définir ma fonction comme ceci :

void modifi_tableau(point *tab){
     *tab[1][1].x = 2;
     ....
}

et de l'appeler de la même façon.

voilà, en espérant que ma question est assez claire, je vous remercie d'avance pour votre aide.


samedi 7 mai 2005 à 21:39:15 | Re : tableau de struct et fonction en C

luhtor

Réponse acceptée !
void modifi_tableau(point *tab){
     *tab[1][1].x = 2;
     ....
}


Pour passer un tableau à deux dimensions en argument, tu dois définir la taille de la seconde dimension.
void modifi_tableau(point tab[][10]);

ou je pense que ca c'est correct aussi:
void modifi_tableau(point *tab[10]);

samedi 7 mai 2005 à 21:53:43 | Re : tableau de struct et fonction en C

sim51

Membre Club
Merci pour ta réponse luhtor, mais peut tu m'éclairer encore stp.

D'après ce que j'ai pu voir dans mes cours et sur le net, cela pourrai être :
void modifi_tableau(point *tab[10]); 

Mais alors comment je fais pour modifier sa valeur ??? comme je l'ai indiquer, c'est à dire
*tab[1][1].x = 2

Et l'appel de la fonction ce fait aussi comme je l'ai indiqué ??
modifi_tableau(tab);

merci pour vos futur réponse.
samedi 7 mai 2005 à 22:28:15 | Re : tableau de struct et fonction en C

luhtor

Oui l'appel de fonction c'est modifi_tableau(tab).

"Mais alors comment je fais pour modifier sa valeur ??? comme je l'ai indiquer, c'est à dire
*tab[1][1].x = 2"

Mais il n'y a pas de pb, c'est un type que tu envois en argument, un tableau à deux dimensions.
void modifi_tableau(point tab[][10])
{
    tab[4][2] = ce que tu veux;
}

Tu accèdes normalement aux éléments. Il faut simplement spécifier la taille de la seconde dimension. Ca signifie pas le 10ème élément.


Cette discussion est classée dans : fonction, tableau, tab, struct, modifi


Répondre à ce message

Sujets en rapport avec ce message

Passer un tableau en parametre d'une fonction [ par julien20vt ] Voila mon probleme:J'ai déclaré une structure Nom_Struct, j'initialise un tableau de Nom_Struct :Nom_Struct maStruct[1000] Ensuite j'ai la fonction s tableau a 2 dim [ par Kevin972 ] salut a tous!!g un probleme pour passer en parametre un tableau a 2 dimensions:fonction1(void){ float tab[400][400];............ fonction(tab);}fo Allocation dynamique dans une fonction [ par Veovis ] Salut,Toujours dans mon projet de TP, j'ai un petit soucis avec l'allocation dynamique dans une fonction. Ce que je voudrais faire c'est quand le tabl Tableau en C [ par Mickylord ] Bonsoir a tous !Voici ma question :J'ai une fonction principale, main(), et une autre fonction tab(). Je voudrais déclarer un tableau dans la fonction tableau d'entier. [ par gdpasmini ] Hello !j'ai un petit soucis avec une fonction qui renvoi un tableau en parametre... voila les details :Dans mes fonctions : int * boutonDecodFlux(void pb de sauvegarde [ par blinix123 ] Bonjour, Alors voila, j'ai mon programme sous C/C++ qui fonctionne, je bosse avec un tableau de type, (gestion d'une vidéotheque), et j'aimerais sauve Tableau de pointeur de strucure [ par timy94 ] Bonjour Voila mon problèmestruct ess {   char C1[10];   char C2  [5];}struct ess * Tab[10];Tab = (struct ess **) malloc (sizeof (struct ess *));strcpy TABLEAU de STRUCTURE [ par timy94 ] Bonjour Comment en C faire un tableau de pointeur pointant sur des structures.dans le but de trier ce tableau ex "tab.nom"  en modifiant les adresses Tableau 2 dimension en fonction [ par acidjackproject ] Bonjour, j'aimerai pas un tableau à 2 dimension en paramètre sans pointeurs. Quand je le fais (comme suit), il m'affiche "error:array type has incompl Allocation dynamique de mémoire d'un tableau dans une fonction [ par DJfewos971 ] Bonjour a tous,mon problème est de pouvoir alloué la mémoire dynamiquement d'un tableau dans une fonction.Voici mon problème niveau Code:#include #inc


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,373 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales