У меня есть несколько переменных типа char (array), int и double. Есть ли способ определить, какой тип они находятся во время выполнения?Определение типа переменной во время выполнения в C
Например, я ищу что-то вроде:
int dummyInt = 5;
double dummyDouble = 5.0;
dummyInt == int ?
printf("yes, it's of int type\n") : printf("no, it's not of int type\n");
dummyDouble == int ?
printf("yes, it's of int type\n") : printf("no, it's not of int type\n");
Где очевидные результаты будут:
да, это ИНТ типа
нет, это не целого типа
Ну, это объясняется тем, что я переношу данные из переменных в базу данных SQL (используя SQLite). Теперь заголовки могут меняться каждый раз, когда я запускаю программу в зависимости от того, какие переменные используются. Поэтому, когда я создаю таблицу, я должен сказать, если это VARCHAR, INTEGER, DOUBLE и т.д.
Нет. Возможно, вам стоит объяснить, зачем вам это нужно, и может быть представлено лучшее решение. – JoshD
Возможно, вы используете неправильный язык для того, чтобы делать то, что хотите. –
Вы должны написать пример psudo-кода, чтобы продемонстрировать что-то более близкое к вашему заявленному использованию (ввод данных в SQLite db), а не тривиальный пример, который вы предоставили. Ваш пример на самом деле не иллюстрирует проблему, так как ее так легко решить, потому что типы являются постоянными и известными. Пример, который ближе к реальной программе, которую вы пытаетесь написать, может предложить другие решения этой проблемы. – nategoose