Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Initialisation variable... [ Linux / Autre ] (mriviere)

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é 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

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.