Static unsigned long

Fermé
manu78640 Messages postés 31 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 29 mai 2009 - 29 janv. 2009 à 15:29
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 29 janv. 2009 à 17:04
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

1 réponse

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
29 janv. 2009 à 17:04
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.
0