テーブルの行を表す構造があります。
typedef struct {
char *a;
char *b;
} row;
そして、dbデータに基づいてその行を初期化し、その行へのポインタを返す関数があります
row* get_row(dbrow d) {
row *r = malloc(sizeof(row));
r->a = malloc(5);
strcpy(r->a, d.a);
r->b = malloc(5);
strcpy(r->b, d.b);
return r;
}
そして最後に、パラメータとしてを持っている関数がありrow **rows
ます:
void get_rows(row **rows) {
...
rows = malloc(rowNumber * sizeof(row*));
int i;
for (i = 0; i < rowNumber; i++) {
rows[i] = get_row(dbrow);
}
}
get_rowは期待どおりに機能し、有効な行構造体へのポインターを返しますが、gdbは、rows [0](および他のすべて)が新しい値を取得しないことを示していますrows[i] = get_row(dbrow)
。存在しません。