Ну, считаем, что программа берет из какого то файла информацию, причем указан тип информации.
далее программа должна ее должным образом обработать, поэтому я создаю тип, который включает в себя описание информации, указатель на нее в памяти, и размер занимаемой памяти.
Фактически, в файле просто может содержаться различная информация - как строки, так и целые числа, так и новые типы, которая программа может не знать(ну или просто ошибки)
И эта функция должна описать информацию, проверить ее на ошибки и указать размер.
Что то вроде этого..
Пользователь решил продолжить мысль 18 Июня 2011, 15:37:25:
typedef
struct
string_t {
char *array;
int length;
}
string;
typedef
struct
{
unsigned int auto_ : 1;
unsigned int register_ : 1;
unsigned int static_ : 1;
unsigned int extern_ : 1;
unsigned int short_ : 1;
unsigned int long_ : 1;
unsigned int signed_ : 1;
unsigned int unsigned_ : 1;
}
variable_modifiers;
typedef
struct
data_type {
unsigned int size; // Data size
enum { // Data type
error, //0
int_type, //1
char_type, //2
float_type, //3
double_type, //4
bool_type, //5
anonimous //6
} type;
variable_modifiers mod;
union pointer_to_type { //Pointer
void *void_p;
int *int_p;
char *char_p;
string *string_p;
long *long_p;
float *float_p;
double *double_p;
long double *ld_p;
void *anonimous_p;
} pointer;
}
data;
это определения типов.
я сейчас попробую написать функцию, которая считывает битовое поле и другие данные и записывает все в строку.
так что это в общем виде. Скорее всего, будет либо сложнее, либо гораздо легче =)