Почему не добавят в стандарт, и какие приемы используют что бы реализовать это?
Описание того что я хочу:
struct String {
int length;
char str[length]; // == char str[];
// указание длинны, просто подсказка для компилятора
};
struct Item {
struct String name;
struct String description;
bool flag1, flag2, flag3;
int elements_length;
struct Element elements[elements_length]
};
// Item *i = malloc(999999999);
// (char*)&i->description.length == ((char*)&i->name.str) + i->name.length
Пока что самое удобное что я придумал, это вместо массивов вставлять указатели, и при инициализации их вычислять, но это ручная работа, человек ее делать не должен...