c / intermediate
Snippet
Benannte Initialisierungen für Strukturen
Benannte Initialisierungen ermöglichen es, Strukturmitglieder namentlich statt nach ihrer Position zu initialisieren. Dies macht den Code robuster gegenüber Änderungen in der Strukturdefinition und verbessert die Lesbarkeit, da explizit angegeben wird, welcher Wert zu welchem Feld gehört.
snippet.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>struct Config {int timeout;float threshold;char mode;};int main() {// Initialize specific members out of orderstruct Config sys_cfg = {.mode = 'A',.timeout = 3600,.threshold = 0.85f};printf("Mode: %c, Timeout: %d\n", sys_cfg.mode, sys_cfg.timeout);return 0;}
Erklärung
1
.mode = 'A',
Weist dem Mitglied 'mode' explizit 'A' unter Verwendung des Punkt-Operators zu.
2
struct Config sys_cfg = { ... };
Initialisiert die Struktur-Instanz in einem einzigen, übersichtlichen Block.