#include <stdio.h>
#include <stdlib.h>
typedef struct {
int docid;
int freq;
} pairs_t;
typedef struct {
char *word;
int numlines;
pairs_t *pairs;
int index;
int npairs;
} data_t;
typedef struct {
data_t *data;
int numwords;
} index_t;
int main(int argc, char *argv[])
{
int initialsize = 1;
int count = 0;
index_t *index;
index
= malloc(sizeof(index_t
));
int required_size = 1;
index
->data
= malloc(required_size
* sizeof(data_t
));
//for first element of array
index
->data
[0].
pairs = malloc(required_size
* sizeof(pairs_t
)); //you can even realloc
index
->data
[0].
pairs = realloc(index
->data
[0].
pairs, 1 * sizeof(pairs_t
));
//now you can access the members of pairs this way
index->data[0].pairs[0].docid = 777;
index->data[0].pairs[0].freq = 777;
printf("docid : %d\nfreq : %d", index
->data
[0].
pairs[0].
docid, index
->data
[0].
pairs[0].
freq);
free(index
->data
[0].
pairs);
count++;
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnR5cGVkZWYgc3RydWN0IHsKICAgIGludCBkb2NpZDsKICAgIGludCBmcmVxOwp9IHBhaXJzX3Q7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBjaGFyICp3b3JkOwogICAgaW50IG51bWxpbmVzOwogICAgcGFpcnNfdCAqcGFpcnM7CiAgICBpbnQgaW5kZXg7CiAgICBpbnQgbnBhaXJzOwp9IGRhdGFfdDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRhdGFfdCAqZGF0YTsKICAgIGludCBudW13b3JkczsKfSBpbmRleF90OwoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgCnsKICAgIGludCBpbml0aWFsc2l6ZSA9IDE7CiAgICBpbnQgY291bnQgPSAwOwoKICAgIGluZGV4X3QgKmluZGV4OwogICAgaW5kZXggPSBtYWxsb2Moc2l6ZW9mKGluZGV4X3QpKTsKICAgIAogICAgaW50IHJlcXVpcmVkX3NpemUgPSAxOwoKICAgIGluZGV4LT5kYXRhID0gbWFsbG9jKHJlcXVpcmVkX3NpemUgKiBzaXplb2YoZGF0YV90KSk7CiAgICAKICAgIC8vZm9yIGZpcnN0IGVsZW1lbnQgb2YgYXJyYXkKICAgIGluZGV4LT5kYXRhWzBdLnBhaXJzID0gbWFsbG9jKHJlcXVpcmVkX3NpemUgKiBzaXplb2YocGFpcnNfdCkpOyAKCS8veW91IGNhbiBldmVuIHJlYWxsb2MKICAgIGluZGV4LT5kYXRhWzBdLnBhaXJzID0gcmVhbGxvYyhpbmRleC0+ZGF0YVswXS5wYWlycywgMSAqIHNpemVvZihwYWlyc190KSk7CiAgIAogICAgLy9ub3cgeW91IGNhbiBhY2Nlc3MgdGhlIG1lbWJlcnMgb2YgcGFpcnMgdGhpcyB3YXkKICAgIAogICAgaW5kZXgtPmRhdGFbMF0ucGFpcnNbMF0uZG9jaWQgPSA3Nzc7CiAgICBpbmRleC0+ZGF0YVswXS5wYWlyc1swXS5mcmVxICA9IDc3NzsKCiAgICBwcmludGYoImRvY2lkIDogJWRcbmZyZXEgIDogJWQiLCBpbmRleC0+ZGF0YVswXS5wYWlyc1swXS5kb2NpZCwgaW5kZXgtPmRhdGFbMF0ucGFpcnNbMF0uZnJlcSk7CgoJZnJlZShpbmRleC0+ZGF0YVswXS5wYWlycyk7CglmcmVlKGluZGV4LT5kYXRhKTsKCWZyZWUoaW5kZXgpOwoJCiAgICBjb3VudCsrOwoKICAgIHJldHVybiAwOwp9