ポインターなどについては理解していますが、ここで何が間違っているのかわかりません。if i Have char *(*data)[] それは「char ポインターの配列へのポインター」として解釈されるだけですよね?それから私はこのような構造体を持っています.typedefはmyStructになるように指定されていますが、それは冗長かもしれませんが、それは重要ではありません:
typedef struct myStruct myStruct;
struct myStruct{
int size;
char *name;
myStruct *(*array)[];
}
似たような記事がないかサイトを見て回ったところ、次のようなものがありました。
//let's say allocating 5 spaces for this case
myStruct *a = malloc(sizeof(myStruct)+ sizeof(struct myStruct *)*5);
構造体に割り当てた数は、配列のサイズであると確信しています。これについて頭を悩ませることはできません。構造体の場合、どのように機能しますか? ここでの計画は、この構造体を持つことであり、5 つの myStruct の配列が含まれています。それらも別々に割り当てる必要がありますか?このような?
a->array[0] = malloc( .... )
試してみましたが、境界が指定されていない配列の無効な使用というエラーが表示され続けます。何が間違っているのか、どうすれば修正できますか? ありがとうございました