Dynamic variable declaration in C

2020-03-30 01:26发布

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

4条回答
唯我独甜
2楼-- · 2020-03-30 01:52

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.

查看更多
时光不老,我们不散
3楼-- · 2020-03-30 01:59

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).

查看更多
仙女界的扛把子
4楼-- · 2020-03-30 02:02

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.

查看更多
做个烂人
5楼-- · 2020-03-30 02:12

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.

查看更多
登录 后发表回答