Kann eine Variable in C deklariert werden, deren Name der Benutzer zur Laufzeit angibt?

8

Ist es möglich, eine Variable in C zu deklarieren, deren Name der Benutzer zur Laufzeit angibt? Wenn ja, wie?

    
Quixotic 31.08.2012, 16:42
quelle

2 Antworten

15

Nein, das ist nicht möglich: Variablennamen überstehen den Kompilierungsschritt nicht und werden zu Adressen und Offsets, die in den kompilierten Binärcode "eingebacken" sind.

Es ist jedoch möglich, eine Variable zu deklarieren, deren Name vom Entwickler zur Kompilierzeit angegeben wird, indem Sie eine -D oder eine vergleichbare Option Ihres C-Compilers verwenden.

    
dasblinkenlight 31.08.2012, 16:44
quelle
2

Wie dasblinkenlight richtig beantwortet hat, nein.

Sie können Ihre Implementierungsziele erreichen und erreichen, indem Sie zur Laufzeit ein eigenes Wörterbuch für Strings und zugehörige Werte erstellen und pflegen.

    
Avi Berger 31.08.2012 18:34
quelle

Tags und Links