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 :

Appeller un type (sous "typedef") avec "exter


Sujet :

C

  1. #1
    Membre du Club Avatar de lunart
    Homme Profil pro
    Administrateur système et réseau
    Inscrit en
    Décembre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur système et réseau

    Informations forums :
    Inscription : Décembre 2003
    Messages : 79
    Points : 63
    Points
    63
    Par défaut Appeller un type (sous "typedef") avec "exter
    bonjour

    j'ai un problème avec mes variable globales.
    J'aimerais créer un projet (j'utilise visual c++ 6) avec
    - un fichier main dans lequel il y a un type date (en typedef).
    - un fichier de fonction (funct1.h funct1.c) dans lequel ce type est visible, je voulais savoir si c t possible avec extern?
    si oui comment faire?

    merci d'avance pierre

  2. #2
    Membre expérimenté Avatar de alexrtz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 639
    Points : 1 359
    Points
    1 359
    Par défaut
    Salut,

    Pour tout ce qui est définition de type, généralement on met ça dans un fichier .h.
    Après, dans ton main, tu mets #include "truc.h" et toutes les types définis dans truc.h seront accessibles dans le main (ou dans truc.c sans mettre la directive include).
    "Je suis incapable d'expliquer ce qui se passa ensuite : je lâchai quelque chose, quelque chose à quoi je m'agrippais depuis toujours sans m'en rendre compte. Je m'enfonçais dans une obscurité chaude, moelleuse et protectrice, tandis qu'un loup montait la garde par mes propres yeux."

  3. #3
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 334
    Points : 130 266
    Points
    130 266
    Billets dans le blog
    1
    Par défaut
    Si c'est un type simple, genre un typedef int montype_t, tu ne peux pas le masquer. Il doit être présent dans le .h.

    La seule possibilité pour masquer un type en C est d'utiliser un pointeur vers une structure non définie.

    .h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    typedef struct mastruct * mastruct_t;
     
    mastruct_t creer_struct(void);
    void traiter_struct(ma_struct_t s, int a, int b);
    /* etc... */
    .c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #include "fichier.h"
    struct mastruct {
      int membre1, membre2;
    };
    Responsable technique forum & site

    Si ce message (ou un autre) vous a aidé et/ou vous semble pertinent, votez pour lui avec

  4. #4
    Membre du Club Avatar de lunart
    Homme Profil pro
    Administrateur système et réseau
    Inscrit en
    Décembre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur système et réseau

    Informations forums :
    Inscription : Décembre 2003
    Messages : 79
    Points : 63
    Points
    63
    Par défaut
    merci de vos réponses.
    Je ne veux pas créer de variable globales, je voulais juste déclarer un type visible dans plusieurs fichiers. Je sais pas pourquoi je voulais utiliser un extern mais en fait j'en ai pas besoin . Il suffit de mettre le type dans le .h...
    Mais j'ai apris que c'était possible de cacher un type pour une partie des fonctions.

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

Discussions similaires

  1. appel sous-formulaire et retour avec ecran normal
    Par pat1545 dans le forum Access
    Réponses: 1
    Dernier message: 31/07/2006, 19h18
  2. [ASE][T-SQL] Appel d'une sous-proc avec des conditions
    Par metheorn dans le forum Sybase
    Réponses: 1
    Dernier message: 19/05/2006, 18h38
  3. pb avec quote...php + mysql
    Par nicdes dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 10/12/2005, 01h25
  4. bizarrerie avec l'appel system read sous linux.
    Par Hypnocrate dans le forum C
    Réponses: 20
    Dernier message: 20/11/2005, 02h47

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