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 :

Tableau deux dimensions et pointeurs


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 44
    Par défaut Tableau deux dimensions et pointeurs
    Bonjour

    c'est une toute petite question que je viens vous poser.

    Voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char chan[MAXCHAN][MAXNAME];
    char** tabchan;
    tabchan= chan;
    En compilant avec gcc4.1

    j'obtiens le warning suivant
    warning: assignment from incompatible pointer type

    Je ne comprend pas pourquoi et le plus génant c'est que lors de lexécution ca me fait planter tout le reste.

    Dites moi si je me suis totalement planter en pensant qu'un tableau de chaine de caractère est un char**

    Merci d'avance pour vos réponses

  2. #2
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Citation Envoyé par cybersplash
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char chan[MAXCHAN][MAXNAME];
    char** tabchan;
    tabchan= chan;
    En compilant avec gcc4.1

    j'obtiens le warning suivant
    warning: assignment from incompatible pointer type
    char ** et char [MAXCHAN][MAXNAME] sont deux types différents. En revanche, char (*)[MAXNAME] et char [MAXCHAN][MAXNAME] sont compatibles.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 44
    Par défaut
    Merci pour la reponse ca marche bien mais le soucis c'est que je veux passer ce tableau en parametre d'une fonction et la ca ne marche pas il me dis une erreur apres la déclaration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int existeChan(char*[MAXNAME] tab, char* pseudo, int nbElt) {

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    on t'a répondu


  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par cybersplash
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char chan[MAXCHAN][MAXNAME];
    char** tabchan;
    tabchan= chan;
    j'obtiens le warning suivant
    warning: assignment from incompatible pointer type
    Normal. ce sont des types différents.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Je ne comprend pas pourquoi et le plus génant c'est que lors de lexécution ca me fait planter tout le reste.
    Normal : comportement indéfini. C'est un bug.
    Dites moi si je me suis totalement planter en pensant qu'un tableau de chaine de caractère est un char**
    Complètement, oui.

  6. #6
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Citation Envoyé par cybersplash
    Merci pour la reponse ca marche bien mais le soucis c'est que je veux passer ce tableau en parametre d'une fonction et la ca ne marche pas il me dis une erreur apres la déclaration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int existeChan(char*[MAXNAME] tab, char* pseudo, int nbElt) {
    Soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int existeChan(char (*tab)[MAXNAME], char* pseudo, int nbElt);
    , soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int existeChan(char tab[MAXCHAN][MAXNAME], char* pseudo, int nbElt);
    Ou encore:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int existeChan(char tab[][MAXNAME], char* pseudo, int nbElt);

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 44
    Par défaut
    Monsieur Delahaye est dur

    Merci stephl ca marche bien

    Merci pour toutes vos réponses

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

Discussions similaires

  1. Problème pointeur dans un tableau à deux dimensions.
    Par Hunken dans le forum Débuter
    Réponses: 2
    Dernier message: 12/03/2015, 11h32
  2. Réponses: 1
    Dernier message: 18/11/2005, 11h38
  3. tri alphabétique dans un tableau deux dimensions
    Par *!!cocco!!* dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 06/12/2004, 21h38
  4. Passage d'un tableau à deux dimensions
    Par karl3i dans le forum C
    Réponses: 3
    Dernier message: 20/10/2003, 14h50

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