begin process at 2012 05 29 14:06:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Portée de variable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Portée de variable

jeudi 2 mars 2006 à 21:52:55 | Portée de variable

Roro8883

Bonjour, comment peut-on déclarer une variable globale à l'intérieur d'une fonction ???

Je m'explique, voici mon code (très simplifié) :

void initialisation ()
{
   int nb_prog;
   ...  // Définition de l'entier de nb_prog
   char* chaine[(nb_prog - 1)];
   ...
}

et j'aimerais que la variable (tableau) "chaine" soit accessible dans d'autres fonctions.Le problème c'est que cette variable dépend de celle d'avant.

Comment faire ? svp
jeudi 2 mars 2006 à 22:09:12 | Re : Portée de variable

vecchio56

Administrateur CodeS-SourceS
char* chaine[(nb_prog - 1)]; Déja tu n'a pas le droit d'écrire ca (même si gcc l'accepte). Considère que la taille d'un tableau doit être une constante. Voila comment tu peux faire: char** chaine; void initialisation () { int nb_prog; ... // Définition de l'entier de nb_prog chaine = new char*[nb_prog - 1]; ... }
vendredi 3 mars 2006 à 01:16:42 | Re : Portée de variable

theneoiceman

En supplément de ce que Vecchio56 a dit pense a bien libérer la mémoire allouée par le new a l'aide de l'opérateur delete[] . Cette opération est souvent négligée bien que très importante.

Voila, bon codage.

Mess with the best, die like the rest
vendredi 3 mars 2006 à 02:06:22 | Re : Portée de variable

SAKingdom

Membre Club
En gros, une variable globale doit toujours être déclaré à l'extérieure de toute fonction et généralement, au début de ton code. Ainsi, cette variable ne sera éffacé qu'a la fin du programme et non à la fin de la fonction et toute donné qu'elle contient peut être utiliser ou redéfinie par toute fonction l'utilisant
vendredi 3 mars 2006 à 11:49:42 | Re : Portée de variable

Roro8883

Le problème c'est que je programme en C et non en C++, donc je peux pas utiliser new ... delete !

Je crois que l'on peut utiliser malloc ... free mais comme je suis débutant je sais pas trop comment faire !

Si qqn pouvait m'aider .. ?
vendredi 3 mars 2006 à 11:57:08 | Re : Portée de variable

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
chaine = malloc(sizeof char* * (nb_prog - 1)); ... free(chaine);
vendredi 3 mars 2006 à 12:18:17 | Re : Portée de variable

Roro8883

Merci, ça marche très bien maintenant ...


Cette discussion est classée dans : variable, chaine, prog, nb, portée


Répondre à ce message

Sujets en rapport avec ce message

portée [ par cabarrus ] sur mon compilateur pour indiquer que l'on veux réferencé à une variable globale, au lieu d'une variable locale de même nom,on emploie l'opérateur de Ajouter des slash [ par Mike ] SAlut,je recupere une chaine de caractere qui correspond au PATH d'un fichier, ensuite je souhaite l'utiliser comme variable, mais le probleme c que l Comment utiliser le contenu d'une variable comme variable [ par gubule ] j'expose mon probleme, c'est pas simple a expliquer.j'ai une chaine qui contient le nom d'une variable, je veux utiliser ce nom de variable pour en ex [C/C++]Taille chaine caractère [ par goutbouyo ] Salut,Je n'arrive pas à définir la taille de ma chaine de caractère à l'aide d'une variable (nb).CHAR CHAINE[NB];En fait il faut que je limite la tail int => chaine de caractères ? [ par kjus ] vala, il me faudrait transformer une variable int en chaine de caractère.Y a-t-il une fonction toute faite ?en fait, mon but est de l'inscrire dans un Comment stocker une chaine de caractere d'un fichier dans une variable ou un tableau [ par Jarod1980 ] Bonjour tout le monde,Voilà je voudrais savoir si quelqu'un pourrait m'aider à résoudre un petit probleme. Je voudrais faire un programme qui ouvre un Mise a jour et récupération de ma variable d'environemment [ par PeteTheBull ] Bonjour J'utilise Inno Setup pour installer mon programme c++ automatiquement. Je crée alors une variable d'environnement qui indique l'endroit où j' Longue chaine de charactere dans une variable [ par mast ] Bonsoir ! J'essais d'enregistrer une chaine de charactere dans une variable: char nom = "Alex"; mais le compilateur (XCode sur OS X) me donne une e transformer un string en variable [ par turie ] Supposons que j'ai une variable qui s'appel image Je récupére dans une fonction la chaine string "image" comme transformer cette chaine en variable, recuperer une sous-chaine située entre deux caracteres particulier [ par vero77lisa ] Bonjour, Je recherche un petit bout de code me permettant de récupérer dans une variable, une sous-chaine située entre 2 caractères distincts et diff


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales