Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/05/2007, à 05:19

damiens

variable globale et fonctions

Voici un code tout simple :

void affiche ();

int main(void){
  int i = 1;
  affiche();
}

void affiche (){
 
 printf("%d",i);
 system("read a");
}

Le problème c'est qu'il me dit que i n'est pas déclaré dans la fonction or il me semblait que, du fait que c'est une variable globale, je n'avais pas besoins de la passer comme argument ... Pourriez-vous m'expliquer où est mon erreur svp ?

#2 Le 27/05/2007, à 05:27

Damiens

Re : variable globale et fonctions

J'ai compile avec gcc.

#3 Le 27/05/2007, à 05:33

abetsic

Re : variable globale et fonctions

Dans ton code, i n'est pas une variable globale, mais une variable locale à la fonction main().

Pour qu'une variable soit globale, il faut qu'elle soit déclarée en dehors de toute fonction, sous les prototypes de fonction ça marchera.

Mais l'utilisation de variables globales n'est pas vraiment recommandé.

Hors ligne

#4 Le 27/05/2007, à 12:50

Damiens

Re : variable globale et fonctions

Merci.

#5 Le 27/05/2007, à 14:12

Link31

Re : variable globale et fonctions

Pas besoin de variable globale. D'ailleurs elles sont à éviter.

void affiche (int i);

int main(void){
  int i = 1;
  affiche(i);
}

void affiche (int i){
 
 printf("%d",i);
 system("read a");
}

Profites-en pour corriger quelques détails :

#include <stdlib.h>
#include <stdio.h>

void affiche (int i);

int main (int argc, char** argv) {
  int i = 1;
  affiche(i);
  return 0;
}

void affiche (int i) { 
 printf("%d\n", i);
 system("read a");
}

Dernière modification par Link31 (Le 27/05/2007, à 14:17)

Hors ligne

#6 Le 27/05/2007, à 17:46

$Gaël$

Re : variable globale et fonctions

Ce serait encore mieux avec un fichier header !!


Ubuntu is an ancient african word meaning : "I can't configure Debian".

Hors ligne