Forum: Mikrocontroller und Digitale Elektronik static bei Funktionsnamen


von Ralf (Gast)


Lesenswert?

Hallo zusammen,

wofür stellt man bei manchen Funktionen das Schlüsselwort static voran? 
Z.B. static void Fktname(...). Bei Variablen ist mir das klar, aber 
warum bei Funtionen? Hat es etwas mit Kapselung und Sichtbarkeit der 
Funktionen einzelner Module zu tun?

Viele Grüße,

Ralf

von Oliver K. (Gast)


Lesenswert?

Hallo Ralf,

so weit mir bekannt werden in einer static Funktion alle darin 
definierten Variablen auch zu static.

Grüße
Oliver

von BAB (Gast)


Lesenswert?

Hallo Ralf,

jab das mit dem kapseln ist richtig..somit werden die funktionen nur 
innerhalb einer .c datei sichtbar in der sie auch definiert wurden.

variablen die in einer .c datei global definiert wurden sind 
"eigentlich" gesehen auch static variablen solange sie nicht in einer 
anderen mit "extern" impotiert wurden. ich betone noch mal 
eigentlich..:)..

von Ralf (Gast)


Lesenswert?

Hallo,

danke für die schnelle Hilfe!!!

von Peter D. (peda)


Lesenswert?

"static" bei Funktionen bedeutet, sie sind nur in dem gleichen Modul 
(*.c) sichtbar.

Bei globalen Variablen ist es genau umgehrt:
Sie sind nur im gleichen Modul sichtbar und erst durch "extern" werden 
sie für alle Module sichtbar.

Auf Variablen innerhalb einer Funktion hat das keinen Einfluß.


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.