0

ポインターを使用しているときに情報を割り当てる方法に問題があります。

関数に値を代入できませんreadName。構造体を正しく malloc しているかどうかを確認できますか? または、ストライクと関数パラメーターを変更せずにこれを行う別の方法はありますか?

typedef struct name
{ 
    char info[];
    int number;
    //some more codes
} name;

typedef struct Data
{
    name ** n;
    //some more codes
} Data;


int readName(FILE *const fp, name **const names)
{
    (*names)->number = 1; // no idea what to put here to store
    strcat ((*names)->info, "aBC");
    //codes
}

int read(FILE *const fp, Data *const data)
{
    data->n = malloc(sizeof(name*)*1);   // am I mallocing correctly?
    data->n[0]=malloc(sizeof(name));
    i = readName(fp, &data->n[Data->n]);
    //codes
}

int main ()
{
    Data * d;
    d = malloc (sizeof (Data));
    i = read(fp, d);  //assume fp is decleared
    //codes that usses the struct
}
4

1 に答える 1