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 :

Declarer tableau de structure en extern


Sujet :

C

  1. #1
    Membre habitué Avatar de PoZZyX
    Inscrit en
    Août 2005
    Messages
    426
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 426
    Points : 154
    Points
    154
    Par défaut Declarer tableau de structure en extern
    Bonjour,

    Je suis en train de séparer mon code C en plusieurs fichiers et j'ai un petit souci. Dans deux fonctions (l'une dans main.c l'autre dans network.c) j'ai besoin de ceci (qui est déclaré dans main.c pour le moment) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #define MAX_CLIENTS 50
    struct struct_client
    {
    	struct sockaddr_in client_struct;
    	pthread_t thread;
    	int socket;
    	int free;
    	pthread_mutex_t mutex;
    };
    struct struct_client clients[MAX_CLIENTS];
    Ma question, comment mettre ça en extern dans network.c pour pouvoir y accéder aussi ?

    Merci d'avance pour votre aide !!!

  2. #2
    Expert éminent sénior
    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
    Points : 13 926
    Points
    13 926
    Par défaut
    1- Fait un .h contenant les définitions de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #define MAX_CLIENTS 50
    struct struct_client
    {
    	struct sockaddr_in client_struct;
    	pthread_t thread;
    	int socket;
    	int free;
    	pthread_mutex_t mutex;
    };
    2- inclus le .h dans main.c et network.c

    3- Place dans le main.c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    struct struct_client clients[MAX_CLIENTS];
    4- Ajoute dans le network.c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extern struct struct_client clients[MAX_CLIENTS];
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  3. #3
    Membre habitué Avatar de PoZZyX
    Inscrit en
    Août 2005
    Messages
    426
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 426
    Points : 154
    Points
    154
    Par défaut
    Merci beaucoupppppp, ca marche a merveille !!!!

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

Discussions similaires

  1. [VB6]Tri multi-colonnes sur tableau de structure
    Par ELGUEVEL dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 17/02/2006, 08h02
  2. declaration d'une structure dans la class TForm1
    Par mdtdamien dans le forum C++Builder
    Réponses: 1
    Dernier message: 15/02/2006, 18h51
  3. Réponses: 9
    Dernier message: 13/02/2006, 08h39
  4. définir une structure en extern
    Par petdelascar dans le forum C
    Réponses: 2
    Dernier message: 02/12/2005, 19h31
  5. Trier un tableau de structures
    Par Yux dans le forum C
    Réponses: 7
    Dernier message: 05/11/2005, 17h28

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