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 :

créer des tableaux de tableaux


Sujet :

C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2022
    Messages : 8
    Points : 6
    Points
    6
    Par défaut créer des tableaux de tableaux
    Bonjour,

    J'ai un problème depuis des années déjà avec les tableaux de tableaux (problème que j'arrive à contourner en mettant tout dans une liste).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    TYPE myfunction() // Type souhaité à retourner : int[7][5] ; type qu'on peut retourner : int**
    {
      int grid[7][5] = malloc(7*5*sizeof(int));
      return grid;
    }
     
    int main()
    {
      int grid[7][5] = myfunction(); // Type incompatible si myfunction retourne int** et elle ne peut pas retourner int[7][5].
    }
    Le problème est que :
    est différent de . En effet grid[i+1][j] <=> *(grid+(i+1)*5+j) et avec int**, on perd les infos de la taille.

    Y a-t-il une solution sans utiliser std::vector, une bibliothèque ou une classe pré-implantée svp ?

    PS: Quand je tape :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int(*)[7][5] function()
    {
      int grid[7][5] = new int[7][5];
      return grid;
    }
    le type de retour ne fonctionne pas plus et le new non plus.

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 887
    Points : 7 236
    Points
    7 236
    Par défaut
    Bonjour,

    Vous êtes sur un forum C et non C++. Vous devriez écrire ICI.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    CGi
    CGi est déconnecté
    Expert éminent
    Avatar de CGi
    Inscrit en
    Mars 2002
    Messages
    1 045
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 1 045
    Points : 8 256
    Points
    8 256
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Vous êtes sur un forum C et non C++. Vous devriez écrire ICI.
    Oui et non. Le problème initial tien plutôt du C.

    @nauvisse Quand je vois ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int grid[7][5] = malloc(7*5*sizeof(int));
    Ça me laisse dire, que tu devrais reprendre un cours sur les tableaux du langage C.
    Ici, tu tente d'initialiser un tableau déjà alloué sur la pile avec un pointeur d'une allocation sur le tas. Ça n'a aucun sens !
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/09/2004, 21h25
  2. ajouter à la suite des tableaux
    Par vic_cw dans le forum C++
    Réponses: 9
    Dernier message: 22/08/2004, 15h11
  3. [OPENOFFICE] Transformation des tableaux OOo en HTML
    Par GrandFather dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 15/05/2004, 18h00
  4. Réponses: 2
    Dernier message: 19/08/2003, 18h04
  5. free sur des tableaux "a moitié dynamiques"
    Par barthelv dans le forum C
    Réponses: 4
    Dernier message: 31/07/2003, 15h30

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