c / intermediate
Snippet
Interne Bindung mit dem static-Schlüsselwort
Die Verwendung von 'static' auf Dateiebene (globaler Scope) verleiht einer Variablen oder Funktion eine interne Bindung. Dies bedeutet, dass sie nur innerhalb dieser spezifischen .c-Datei sichtbar ist, was Namenskollisionen verhindert und die Kapselung bei modularer Programmierung erzwingt.
snippet.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>// Internal linkage: hidden from other translation unitsstatic int module_state = 0;static void log_internal(void) {printf("State updated to: %d\n", module_state);}void public_increment(void) {module_state++;log_internal();}int main(void) {public_increment();return 0;}
Erklärung
1
static int module_state
Variable wird im Datensegment gespeichert, aber nicht an den Linker exportiert.
2
static void log_internal
Funktion kann nicht von Code in anderen Quelldateien aufgerufen werden.