Я хотел бы получить помощь по структуре в стиле Си. Я не очень разбираюсь в C, поэтому я не знаком с основами.
Прямо сейчас у меня есть структура (outerStruct), которая имеет другие структуры в качестве членов (innerStruct1, innerStruct2 ...). Что мне нужно сделать, это получить значения переменных-членов MEMBER OF innerStruct1, innerStruct2 ....
Единственная информация, которую я имею, - это указатель на outerStruct и структура данных, которая имеет все возможные типы переменных MEMBER VARIABLES OF EACH innerStructs. Обратите внимание, что все имена переменных являются просто типом переменной
+ "_val", поэтому, если я смогу типы переменных-членов, я смогу также получить имена переменных.
Мне нужно получить информацию о ЧЛЕНАХ innerStructs и разобрать их в текстовый файл, при этом появятся имя переменной s.t и значение переменной.
Могу ли я получить переменную-член innerStruct без использования имен переменных? Поскольку C играет с распределением памяти, может быть, это возможно? Если это невозможно, какую возможную информацию я могу получить?
Контейнер с именами и типами переменных довольно большой, поэтому, если я буду использовать все значения для извлечения информации, он выполнит слишком много пустых проверок, и время будет линейным по отношению к размеру контейнера. Вместо этого я хотел бы знать, смогу ли я воспользоваться соглашением об именах и сделать код более эффективным.
struct outerStruct {
innerStruct1 innerStruct1_val;
innerStruct2 innerStruct2_val;
}
struct innerStruct1 {
int int_val = 5;
char char_val = 'a';
}
struct innerStruct2 {
float float_val = 4.0;
double double_val = 5.0;
}
Ожидаемый вывод (печать на экран):
"innerStruct1_val : int_val = 5, char_val = 'a' || innerStruct2_val : float_val = 4.0, double_val = 5.0"
TL; DR Я хочу получить значения внутренней структуры из вложенной структуры без использования фактических имен переменных.
(Кроме того, здесь приведен код, показывающий только структуру структуры. Будет использоваться правильный синтаксис.)