可変長配列っていうから
Type
str[0] As Byte
End Type
みたいなのを想像しちゃったよ。
幾つかの方法って2種類なんですね。試行錯誤もしないでよく言えたものです。
あなたのコードだけどこりゃひどい。
プログラムやってるんだからコンパイル通らないなら
エラーをよく読んでその意味を理解して欲しいんだけどね。
ポインタについてどれだけ理解しているのか…
.と->と[]の違いがよく分かってないんだね。
->は[0].と同じ意味を持つのね。
だからa->bはa[0].bと同じ。
ほかにも突っ込みどころが多すぎてあれなんだけど、答えを示すと
コード:
#N88BASIC
Type TEST
tesuto1 As Long
tesuto2[7] As Byte
End Type
Dim testarr As *TEST
testarr = calloc(3 * SizeOf(TEST))
testarr[0].tesuto1=1
lstrcpy(testarr[0].tesuto2, "test1")
testarr[1].tesuto1=2
lstrcpy(testarr[1].tesuto2, "test2")
testarr[2].tesuto1=3
lstrcpy(testarr[2].tesuto2, "test3")
Dim i As Long
For i=0 To 2
Print testarr.tesuto1, MakeStr(testarr.tesuto2)
Next
これがみけCATさんのやりたい事だと思うのですがどうでしょうか。