#include <stdio.h>
typedef struct test_flex_arr{
size_t sz;
struct {
int i;
const char *path;
} info[];
} tfa;
int main(void){
size_t sz = 100;
tfa
*ptr
= malloc(sizeof *ptr
+ sizeof ((*((tfa
*) NULL
)).
info)[sz
]); ptr->info[99].i = 10;
printf("%d\n", ptr
->info
[99].
i); //prints 10 }
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdCB0ZXN0X2ZsZXhfYXJyewogICAgc2l6ZV90IHN6OwogICAgc3RydWN0IHsKICAgICAgICBpbnQgaTsKICAgICAgICBjb25zdCBjaGFyICpwYXRoOwogICAgfSBpbmZvW107Cn0gdGZhOwoKaW50IG1haW4odm9pZCl7CiAgICBzaXplX3Qgc3ogPSAxMDA7CiAgICB0ZmEgKnB0ciA9IG1hbGxvYyhzaXplb2YgKnB0ciArIHNpemVvZiAoKCooKHRmYSopIE5VTEwpKS5pbmZvKVtzel0pOwogICAgcHRyLT5pbmZvWzk5XS5pID0gMTA7CiAgICBwcmludGYoIiVkXG4iLCBwdHItPmluZm9bOTldLmkpOyAvL3ByaW50cyAxMAp9