Private funktionen in C?



  • Hi,
    Ich bin von C++ auf C gewechselt,
    in C++ konnte ich "interne" funktionen leicht über Klassen->private isolieren.

    Damit meine ich z.b. eine Klasse um .ini Dateien zu verwalten..
    innerhalb der Klasse gibt es mehrere funktionen, die nur von der Klasse selbst benutzt werden.(Datei finden/öffnen strings parsen etc. etc.)

    In C gibt es nun aber keine Klassen, kann ich Funktionen trotzdem irgendwie vom "Hauptprogramm" isolieren?
    Sodass ich z.b. die gleichen Funktionsnamen/Variablennamen in der "main.c" benutzen kann, wie in der "handleIni.c" ohne das sie sich überschneiden?

    Ich hoffe ich konnt mich verständlich ausdrücken, hab da manchmal so meine Probleme.. 🙄



  • was du machen kannst, ist eine Funktion als 'static' deklarieren (Kein prototyp in einem Header-file). Diese Fkt. ist dann nur innerhalb der Übersetzungseinheit "sichtbar", wo sie deklariert wurde. Jede Funktion kann aber die in ihren Übersetzungseinheit deklarierten 'static' Funktionen aufrufen.



  • Dankeschön, hat wunderbar geklappt.


Anmelden zum Antworten