I'm a ruby developer and its been long since I've coded in C. I have this small issue -Basically I want to use a datatype in C which behaves like a symbol in C.
In other words, is this possible in C?
- Program asks user for name
- user replies - "foobar"
declare an integer with the same name i.e.
int foobar
Thanks
Unlike in interpreted languages, C does not have a dictionary of variable names at runtime. There exist no variable names at runtime at all. Hence unfortunately it is impossible to do what you want in C.
It's not possible to do this in C without implementing your own symbol table to emulate the desired behavior (essentially, implementing your own micro-programming language).
No. C must know names at compile time.
The best you could do is create your own dictionary of names and values. Much work though.
What do you want to do with the username-as-variable once you have it? What kind of operations would you perform with or on your foobaf variable?
As others have suggested you could use a data structure to dynamically associate the user name with a piece of integer data but knowing what you want to do with it would help inform suggestions as to whether that's even necessary and which data structures and algorithms you might want to look at.
来源:https://stackoverflow.com/questions/6064873/dynamic-variable-declaration-in-c