begin process at 2010 02 09 23:52:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Autre

 > 

Initialisation variable...


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

Initialisation variable...

vendredi 23 juin 2006 à 09:02:56 | Initialisation variable...

mriviere

Bonjour , j'ai un probleme d'initialisation de variable, en effet j'utilise deux fois la meme fonction dans mon main pour deux cas different, mais mon probleme est qu'a chaque fois qu'il rentre dans ma fonction il reinitialise ma variable ce que je ne desire pas!

Je rentre dans ma fonction j'initialise time_alarm a 0 si il y a une alarm time_alarm est egal a real_time et ainsi je ne souhaite plus initialiser time_alarm dans ma boucle while. Je crois qu'il y a une solution pour initialiser une seule fois une variable mais je ne trouve pas.

Merci beaucoup pour votre aide

 Mateo
vendredi 23 juin 2006 à 09:45:10 | Re : Initialisation variable...

vecchio56

Administrateur CodeS-SourceS
Oui c'est possible en déclarant ta variable en statique:
sattic int time_alarm = 0;

_____________________________________
Un éditeur de ressources gratuit pour Windows

vendredi 23 juin 2006 à 09:45:17 | Re : Initialisation variable...

deck_bsd

Membre Club
Ce n'est pas trais claire tous cela, mais si tu appel 2 fois la fonction dans le main et que tu n'utilise pas de pointeur c'est normale que ta variable se réinitialise a chaque fois. Car si tu la passe en paramètre sache que la varaible dans ton fonction est une copie de celle passée en paramètre et que si tu la modifie a l'intérieure de ta fonction en aucun cas , la valeur de ta variable déclarée hors de ta fonction ne sera modifiée, pour cela il faut utiliser les pointeurs. Et donc passer en paramètre l'adresse de la variable et non la valeur de celle-ci.

Et si la variable qui se réinitialise tous le temps est déclarée dans la fonction, sache que la variable est crée est chaque appel a la fonction et détruite a la fin de celle-ci.


++
vendredi 23 juin 2006 à 10:05:25 | Re : Initialisation variable...

mriviere

Merci beaucoup pour votre aide je vais essayer la soluce de vecchio par flemme mais je suis sur que ta methode deck est plus propre. En tout cas merci beaucoup pour vos reponse rapide!
vendredi 23 juin 2006 à 13:54:07 | Re : Initialisation variable...

Kangourou_Nomade


passer en reference plutot qu'en pointeur c'est sympa aussi....

Jah bless my code

vendredi 23 juin 2006 à 14:23:50 | Re : Initialisation variable...

LaPatoshe

Autre soluce, tu crées une variable booléenne que tu mets à la valeur 'true' dès que ta variable Y est initialisée. Ainsi, tu interdits cette initialisation de Y si ta booléenne est à true. C'est assez rustique comme système, mais tu est sûr que ça fonctionne.
A+
LaPatoshe
vendredi 23 juin 2006 à 14:43:49 | Re : Initialisation variable...

vecchio56

Administrateur CodeS-SourceS
Pourquoi ils veulent pas ma variable statique? Ca sert a ca je crois

_____________________________________
Un éditeur de ressources gratuit pour Windows

samedi 24 juin 2006 à 17:33:47 | Re : Initialisation variable...

excrt

#include <stdio.h>

void func( void )
{
    static int i = 0;
    i++;
    printf("%d\n", i);
}
int main()
{
    func();
    func();
    func();

    return 0;
}

affiche dans la console:

1
2
3
Press any key to continue...

//------------------------------------------------------------------------
//------------------------------------------------------------------------
//------------------------------------------------------------------------
#include <stdio.h>

void func( int* i )
{
    (*i)++;
    printf("%d\n", (*i));
}
int main()
{
    int i = 0;

    func(&i);
    func(&i);
    func(&i);

    return 0;
}

affiche dans la console:

1
2
3
Press any key to continue...

//------------------------------------------------------------------------
//------------------------------------------------------------------------
//------------------------------------------------------------------------

etc.

-=-= ExCRT =-=-
mercredi 26 juillet 2006 à 19:55:38 | Re : Initialisation variable...

CG85

Une variable de type statique est normalement allouée en dur dans le segment data d'un programme et donc associée à une valeur nule

Attention : si vous utilisez une variable statique dans une fonction/procédure ou comme invariant de boucle il ne faut pas oublier de la réinitialiser avant utilisation vu que l'on peut l'assimiler à une "variable globale"....


Cette discussion est classée dans : fonction, variable, time, initialisation, alarm


Répondre à ce message

Sujets en rapport avec ce message

fonction et variable [ par rodrigos ] Je suis débutant en c++ et j'ai un petit problème:J'ai fonction récurante dans mon programme que j'appelle depuis le main. Mais j'aimerai modifier une Re-utiliser une variable [ par squall51 ] J'essaie de créer un programme.J'ai du le diviser en plusieurs fonction.J'aimerai savoir si il est possible d'utiliser une variable definie dans un fo conversion d'une variable time en seconde [ par kalf2000 ] salut, alor voila je doit récupérer l'heure du système dans une vaiable (ca peu être de type time_t ou tt autre chose) puis convertir cette heure en s pb avec variable [ par jeffise57 ] Please aidez moiJe reçoit comme arugument du fonction des variables unsigned char* et je doit passer dans une deuxième fonction les même arguments mai variable membre non static dans une fonction membre static [ par adrod ] J'ai une erreur du compilateur: Error C2597. Je suis allé sur msdn pour avoir plus de précision et ils me disent:To access the nonstatic member, you m Fonction testant si la variable est un entier [ par oRTEEZ ] Est ce que par hasard quelqu'un connait cette fonction.J'ai beau avoir : " LE LANGUAGE C++ Edition speciale, revue et corrigee" de Bjarne Stroustrup Retour de la valeur d'une variable dans une fonction. [ par did2604 ] Bonjour,J'ai un petit problème avec la fonction suivante. Dans ma fonction, j'incrémente une variable nommée vt2. Je souhaite retourner dans le main c passage par reference [ par jfk20004 ] je ne comprends pas le principe qui consiste à pouvoir modifier une variable par un passage par reference.Une variable n'est elle pas comme son nom le declarer une variable globale [ par EricLeRouge ] J'aimerai savoir comment declarer une varible (par ex un int) en globale dans le cas d'un projet avec plusieurs fichiers. Si je cree un .h ou je decla Initialisation de structure [ par goutbouyo ] Salut,J'ai une structure temps:struct temps { float time, elapsedTime, lastTime;};Je l'itinialise :<table border=0 cel


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,811 sec (3)

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