CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[CODE C] Probleme de renvoie de tableau

ledder
ledder
Niveau 10
11 novembre 2011 à 01:00:07

Salut tout le monde, voila j'ai un petit probleme, je ne sais pas comment renvoyer toutes les valeurs d'un tableau qui se trouve dans un ss-prog vers mon Main.

Quelqu'un pourrait t'il m'expliquer pliz :) thx

Silvermo
Silvermo
Niveau 26
11 novembre 2011 à 02:27:33

C'est comme renvoyer une autre valeur, sauf qu'ici tu renvoies par exemple un pointeur vers ton tableau (je dis pointeur, pour éviter la recopie).

Si tu me montres un exemple de code, je peux te donner une réponse plus précise.

ledder
ledder
Niveau 10
11 novembre 2011 à 03:17:07

En fait c'est plutot le contraire, genre

//dans mon main j'ai:
int tab[5][5]; //on admet qu'il est remplit
int fonction(?/*je met quoi pour envoyer le tableau?*/);

//dans ma fonction j'ai
int fonction(int ? /*je met quoi pour le récupérer?*/)

Silvermo
Silvermo
Niveau 26
11 novembre 2011 à 03:42:50

http://c.developpez.com/faq/?page=tableaux#TABLEAUX_tableau_parametre

:)

ledder
ledder
Niveau 10
11 novembre 2011 à 12:50:16

Fuuuu c'est compliqué, t'es sur que c'est pas du C++ dans ton lien?

Silvermo
Silvermo
Niveau 26
11 novembre 2011 à 13:15:12

C'est pour le C. C'est un exemple parmi d'autres.
Si tu regardes bien en haut de la page, tu verras que le langage sélectionné est le C (il est surligné en couleur)

Et ce n'est pas si compliqué que ça, le code est assez simple. La première partie concerne les tableaux à une dimension, ensuite vient l'exemple qui t'intéresse, vu que tu as un tableau à deux dimensions.

Regarde de plus près, le code est clair, et il y a même des commentaires pour s'y retrouver

Aldebran
Aldebran
Niveau 10
11 novembre 2011 à 14:54:42

"int tab[5][5]; //on admet qu'il est remplit
int fonction(?/*je met quoi pour envoyer le tableau?*/); "

Tu utilises un tableau à deux dimensions (5x5), sachant qu'un tableau est équivalent un pointeur et qu'un tableau à deux dimensions est un tableau de tableau, ça signifie que ton tableau tab est équivalent à un pointeur sur pointeurs. En C le prototype de ta fonction doit être le suivant :

int** fonction(int** tableau);

Aldebran
Aldebran
Niveau 10
11 novembre 2011 à 14:58:20

"int** fonction(int** tableau);"

Ici j'ai supposé que tu passais le tableau en paramètre, que tu modifiais celui-ci puis que tu le retournais. Evidemment, lorsqu'on passe un tableau en paramètre d'une fonction celui-ci est directement modifié et il n'y a pas besoin de le retourner. Si tu veux retourner autre chose en sortie de ta fonction, alors il faut changer le type de retour du prototype.

Enfin j'ai aussi oublié de préciser : pour appeler cette fonction depuis une autre fonction, la syntaxe est du style :

int tab[5][5];
fonction(tab);

ledder
ledder
Niveau 10
11 novembre 2011 à 19:45:32

Ok genial merci :)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment