Объявление динамической переменной в C - PullRequest
2 голосов
/ 20 мая 2011

Я разработчик ruby, и это было давно с тех пор, как я написал на C. У меня есть эта небольшая проблема - в основном я хочу использовать тип данных в C, который ведет себя как символ в C.

Другими словами, возможно ли это в C?

  • Программа запрашивает у пользователя имя
  • ответы пользователя - "foobar"
  • объявляет целое число сто же имя, например

    int foobar

Спасибо

Ответы [ 4 ]

8 голосов
/ 20 мая 2011

В отличие от интерпретируемых языков, C не имеет словаря имен переменных во время выполнения.Во время выполнения вообще не существует имен переменных.Следовательно, к сожалению, невозможно сделать то, что вы хотите в C.

2 голосов
/ 20 мая 2011

Невозможно сделать это в C, не внедрив собственную таблицу символов для эмуляции желаемого поведения (по сути, реализуя свой собственный язык микропрограммирования).

1 голос
/ 20 мая 2011

Нет. C должен знать имена во время компиляции.

Лучшее, что вы можете сделать, - это создать собственный словарь имен и значений. Хотя много работы.

0 голосов
/ 20 мая 2011

Что вы хотите сделать с именем пользователя как переменная, когда оно у вас будет?Какие операции вы бы выполняли с или с вашей переменной foobaf?

Как и другие предлагали, вы могли бы использовать структуру данных для динамического связывания имени пользователя с частью целочисленных данных, но зная, что вы хотите сделать сэто помогло бы получить предложения относительно того, является ли это необходимым, и какие структуры данных и алгоритмы вы могли бы рассмотреть.

...