www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik static bei Funktionsnamen


Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Oliver K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ralf,

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

Grüße
Oliver

Autor: BAB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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..:)..

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke für die schnelle Hilfe!!!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.