IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

passage de tableau 2D a une fonction


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut passage de tableau 2D a une fonction
    voila, j'ai un pb de comprehension de code.
    Immaginon que l'on declare un tableau 2D de char.
    Imaginons une fonction qui prend un pointeur de char. cette fonction doit copier une chaine dans ce tableau 2D passe en parametre. Et la, je ne comprend plus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    main()
    {
    char tableau [100][33];
    fontion(tableau);
    }
     
     
    //definition de la fonction
    void fonction (char *tab)
    {
    for (int i ; i<x ; i++)
    strcpy((tab+i*33),"chaine");
    }
    que veut dire le *33 et dans quelle partie du tableau ca ecrit?

    merci d'avance

  2. #2
    Membre éclairé
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Points : 750
    Points
    750
    Par défaut Re: passage de tableau 2D a une fonction
    Citation Envoyé par watashinoitadakimasu
    que veut dire le *33 et dans quelle partie du tableau ca ecrit?
    Ca veut dire que tu multiplies i par 33 !
    En fait dans ta fonction, tab est l'adresse du debut du tableau. Tu copies "chaine" dans les 100 (euh ou est defini x?) cases (qui sont des chaines de 33 caracteres) du tableau.

    En resume:
    tab est l'adresse du tableau, et aussi de la premiere chaine du tableau. tab+33 est l'adresse de la deuxieme chaine du tableau...
    En fait tu peux voir tableau comme une "matrice" mais dont toutes les colonnes sont a la suite en memoire. Et donc tu passe d'une colonne a l'autre en ajoutant la taille de la ligne (33 ici).

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    j'ai bien compris, merci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passage d'un tableau php dans une fonction javascript
    Par mcdelay dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/09/2013, 17h25
  2. Réponses: 0
    Dernier message: 15/06/2010, 10h58
  3. passage tableau 2 dimensions à une fonction
    Par zentaf dans le forum C++
    Réponses: 4
    Dernier message: 11/01/2010, 01h36
  4. Réponses: 6
    Dernier message: 28/12/2009, 16h45
  5. Passage de tableau de structure à une fonction
    Par Kefass dans le forum Débuter
    Réponses: 2
    Dernier message: 18/08/2009, 19h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo