Хочу в цикле перебирать типы данных и вычислять их размер, однако столкнулся с проблемой, которая заключается в том, что я не могу использовать тип данных как элемент массива. Подскажите, как реализовать подобную структуру или как обойти данное ограничение. От структуры будет требоваться наличие элементов, которые являются типами данных и индексация элементов.
P.S. пытался реализовать что-то подобное через define, однако, как и ожидалось вместо элемента был подставлен весь диапазон типов данных
Хочу в цикле перебирать типы данных и вычислять их размер
Попробуй тогда в макросе делать массив, в котором будет браться sizeof от типа данных - тогда у тебя будет массив размеров
Вообще в Си нет рефлексии, так что в рантайме информации о типах у тебя быть не может.
Если очень нужно - придётся велосипедить и делать какую-нибудь структуру, в которой будет записана информация о типе.
Василий Банников, у меня есть функция, которая от конкретного типа данных берет sizeof, поэтому и хочу использовать массив с типами, чтобы класть по одному элементу туда
Что думаете? Первая мне непонятна от слова совсем. Попробую реализовать вторую. Буду благодарен, если объясните первую реализацию. Как по мне выглядит очень "грязно", хотя скорее всего это из-за постановки самой задачи
Более универсальный вариант - в _Generic макросе возвращать индекс типа, а не размер. Массив размеров держать отдельно и использовать индекс, возвращаемый макросом, для доступа к нужному элементу.