What I am asking about is the well known \"last member of a struct has variable length\" trick. It goes something like this:
struct T {
int len;
char
The standard is quite clear that you cannot access things beside the end of an array. (and going via pointers does not help, as you are not allowed to even increment pointers past one after array end).
And for "working in practise". I've seen gcc/g++ optimizer using this part of the standard thus generating wrong code when meeting this invalid C.