2016-12-07 14 views
1

Je donne les résultats suivants:Comment définir les valeurs des variables dans un C Struct?

struct semaphore{ 
int count; //or whatever value is needed 
struct PCB *Sem_Queue; 
}; 
struct semaphore Forks[5]; 
struct semaphore Doorman; 
Doorman.count =4; 

Je veux mettre count = 4 pour Doorman, mais avec le code ci-dessus je reçois une erreur de syntaxe. Qu'est-ce que je fais mal?

+1

Vous ne pouvez pas avoir d'instructions (comme 'Doorman.count = 4;') dans la portée globale (en dehors des fonctions). –

Répondre

1

Dans l'ensemble, votre syntaxe est correcte. Veuillez vérifier les points suivants que j'ai mentionnés:

-> struct PCB * Sem_Queue: - il doit y avoir une déclaration valide de la structure PCB quelque part.

-> Doorman.count = 4: - cette instruction et une de deux (dans votre code) doivent être déclarées dans n'importe quel corps de la fonction.

+0

J'ai struct PCB défini plus tôt dans le programme. Je peux vérifier que ce n'est pas le problème. Votre deuxième point était ce qui causait mon problème, merci! – TheJavaKing