Static unsigned long

manu78640 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -  
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   -
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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