Заранее я не знаю, например, какого вида должна быть структура. После прочтения определенных файлов я должен создать структуру произвольного вида и получать к ней обычный доступ.
помоему имеется ввиду создание
struct <name> {
<type> <name>;
};
в рантайме. но это что-то из области фонтастики.
можно создать лист содержащий инфу о каждом
элементе структуры, и на основе этой инфы читать
данные из памяти:
//
#define itByte 1
#define itInt 2
...
//
struct itList {
unsigned int size; //размер элемента в бйтах
unsigned char type; //тип элемента
unsigned char name[16]; //название
void *data; //буфер с данными
itList *next_item; //указатель на следующий элемент списка
};
struct itList *dyn_items;
void *mem_base=<что-то>;
unsigned int mem_offset=0;
//
for(itList *itl=dyn_items;itl!=0;itl=itl->next_item){
switch(itl->type){
case itByte:{
itl->data=(char *)malloc(itl->size);
}break;
case itInt:{
itl->data=(int *)malloc(itl->size);
}break;
}
memcpy(itl->data,(vodi *)mem_base+mem_offset,itl->size);
mem_offset+=itl->size;
}
//
мда.. чего-то я разошелся уже :)
а список можно заполнить на основании данных из файла,
например какого-ниь скрипта.
поправьте меня, если что не так.
И мне ещё не верят, когда я утверждаю, что С++ - язык дебилов. Даже кто дебилом от рождения не был, неприменно им станет, пописав на C++ - мозги он калечит гарантированно и неизбежно. Ну почему теперь расплодилось так много интеллектуально озадаченных (нов. полит.-коррект.: mentally challenged), кто не знает, что единственная принципиально универсальная структура данных - двоичное дерево (Лисповский список)?!? Этому должны в детском саду учить!!!
и не понял вопроса? те надо чтобы была структура н ов каждом элементе хранилось все что угодно в зависимости от каких то условий - тогда чем не нравиться указатель на указатель? вбиваеш в него то что тебе надо - только надо каким то образом запоминать что ты в какую ячейку вбил - вообщем если Я правильно понял - то это просто получаеться - или напиши корректно свой вопрос - а то как то размыто.