Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question sur un tableau de double dimension

Sujet résolu
    18 juin 2019 à 14:21:07

    Bonjour à tous,

    J'ai une question qui m'intrigue, sur le fonctionnement des tableaux à double dimension.

    En effet, avec un tableau à une dimension, le nom du tableau renvoie l'adresse de son premier élément. On peut donc afficher la valeur de ce premier élément en utilisant l'opérateur *.

    Ma question est la suivante : Pourquoi, pour un tableau de double dimension, alors que le nom du tableau renvoie effectivement l'adresse de son premier élément, l'utilisateur de l'opérateur * ne renvoie pas le contenu dudit premier élément ? Pourquoi renvoie-t-il à la place l'adresse de cet élément, rendant ainsi l'opérateur * inefficace ? Est-ce une spécificité propre aux tableaux multidimensionnels ? 

    Exemple : 

    int tableau[] = {10,20,30};
    printf("%d",*tableau); // Affiche 10
    
    int tableau2D[][2] = {40,50,60,70}; 
    printf("%d",*tableau2D); // Affiche l'adresse de l'élément 40 soit "tableau2D"

    Je vous remercie d'avance pour vos retours !

    Bonne journée,

    • Partager sur Facebook
    • Partager sur Twitter
      18 juin 2019 à 14:32:46

      La 1er élément d'un tableau 2d[][] est un tableau 1d[]
      • Partager sur Facebook
      • Partager sur Twitter
        18 juin 2019 à 14:39:16

        Effectivement, ça fonctionne : on peut récupérer le premier élément avec *(*(tableau2D)); 

        Merci beaucoup !

        • Partager sur Facebook
        • Partager sur Twitter

        Question sur un tableau de double dimension

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown