0 Tage Serie
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
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 units
static 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.