The [table] object could be vastly extended: [table foo] would be equivalent to [tab define foo] and you could say for instance, [tab define foo -struct my-struct -save -range 0 100]
If you're not requiring the user to name the array "z" and requiring "z" to have a float field "y" then you would need
[tab define foo -struct my-struct -array z -y y]
where "-y" defines which field to use as the independent variable in the table (similar to "-y" in [plot]).
I'm thinking in the above that foo would be an array of items of my-structs, not a struct with an array such as 'z' inside it.
Another way of invoking tab would allow you to attach a name temporarily or permanently to an array within a struct (provided via a pointer message). Then indeed you'd need the field name such as 'z'.
cheers M