Static unsigned long
manu78640
Messages postés
42
Statut
Membre
-
kilian Messages postés 8854 Statut Modérateur -
kilian Messages postés 8854 Statut Modérateur -
Bonjour,
j'ai une fonction avec l'argument suivant :
static unsigned long cnc_get_cmdcount();
Comment puis je recuperer la valeur que renvoie la fonction.
J'ai essayé plusieurs choses :
int a = cnc_get_cmdcount();
static unsigned long a = cnc_get_cmdcount();
unsigned long a = cnc_get_cmdcount();
sans jamais que ca marche.
Je ne sais pas exactement ce qu'est static.
Merci beaucoup
Emmanuel
j'ai une fonction avec l'argument suivant :
static unsigned long cnc_get_cmdcount();
Comment puis je recuperer la valeur que renvoie la fonction.
J'ai essayé plusieurs choses :
int a = cnc_get_cmdcount();
static unsigned long a = cnc_get_cmdcount();
unsigned long a = cnc_get_cmdcount();
sans jamais que ca marche.
Je ne sais pas exactement ce qu'est static.
Merci beaucoup
Emmanuel
1 réponse
Une fonction statique est une fonction dont la portée n'est visible que dans le fichier ou elle est définie.
Exemple, si tu as défini une fonction statique dans main.c, elle ne pourra pas être appellée dans un autre fichier (genre bidule.c)
Et c'est pareil pour les variables statiques quand elle sont déclarées ailleurs que dans une fonction.
En revanche une variable statique déclarée dans une fonction, c'est une variable persistante. C'est à dire que sa valeur restera la même entre deux appels de la fonction qui l'utilise. C'est en réalité une variable globale, mais utilisable que dans une seule fonction.
Exemple, si tu as défini une fonction statique dans main.c, elle ne pourra pas être appellée dans un autre fichier (genre bidule.c)
Et c'est pareil pour les variables statiques quand elle sont déclarées ailleurs que dans une fonction.
En revanche une variable statique déclarée dans une fonction, c'est une variable persistante. C'est à dire que sa valeur restera la même entre deux appels de la fonction qui l'utilise. C'est en réalité une variable globale, mais utilisable que dans une seule fonction.