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 :

Modifier tableau dans une fonction


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 47
    Par défaut Modifier tableau dans une fonction
    Bonsoir, je sais que ce sujet a été posé grand nombre de fois, mais je poste quand même parce que je ne trouve jamais de réponses claires à ce sujet.

    Voila j'ai un tableau :

    Int Tab[256]

    Je veux passer ce tableau dans une fonction

    void fonction(Tab)

    de sorte à ce que cette fonction effectue des opérations sur ce tableau ( par exemple le rempli)

    Et je veux que le tableau soit modifié après l'appel de cette fonction.

    Si quelqu'un peut m'expliquer clairement, puis me donner un exemple simple ce serait cool.

    Merci par avance

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    - Mécanisme :
    Lorsqu'on passe un tableau à une fonction, on passe en fait l'adresse de son premier élément. Comme le compilateur sait le type des éléments du tableau, il connait la taille mémoire d'un élément. De plus, il sait que les éléments sont tous de même type et contigus en mémoire. Il peut donc calculer l'adresse de tous les éléments du tableau.
    Comme l'adresse des éléments du tableau est connue, il est possible de les modifier.

    - Une illustration simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    void fonction(int * tab, int n)
     // ou équivalent DANS UN PROTOTYPE de fonction :void fonc(int tab[], int n)
    {
      int i;
      for(i=0;i<n;i++) tab[i] = i;
    }
     
    int main(void)
    {
       int Tab[256] = {0};
       // Tab contient maintenant {0,0,0,0,0,0,0,0,0,0,....0}
       fonction(Tab, 256);
       // Tab contient maintenant {0,1,2,3,4,5,6,7,8,9,....255}
       return 0;
    }
    Voir pour des compléménts ce tutoriel.

Discussions similaires

  1. Retourner un tableau dans une fonction
    Par oranoutan dans le forum Débuter
    Réponses: 14
    Dernier message: 05/10/2007, 13h39
  2. retour d'un tableau dans une fonction
    Par FlyByck dans le forum Delphi
    Réponses: 3
    Dernier message: 19/01/2007, 00h00
  3. Réponses: 1
    Dernier message: 28/12/2006, 17h02
  4. [langage] appel d'un tableau dans une fonction
    Par donny dans le forum Langage
    Réponses: 11
    Dernier message: 13/11/2006, 16h17
  5. Accéder à un tableau dans une fonction
    Par valanagrid dans le forum C++
    Réponses: 10
    Dernier message: 18/09/2006, 16h08

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