rendered paste body#include <stdlib.h>
#include <stdio.h>
#include <string.h>
typedef struct {
char *name;
int x;
} blah_t;
int main() {
blah_t **b;
blah_t ***bp = &b;
void *p = NULL;
(*bp) = malloc(sizeof(blah_t **));
(*bp)[0] = malloc(sizeof(blah_t *));
p = (*bp)[0];
b[0]->name = strdup("line1");
printf("&b[0] = 0x%X\n", &b[0]);
(*bp) = realloc((*bp), sizeof(blah_t *) * 2);
(*bp)[1] = malloc(sizeof(blah_t *));
b[1]->name = strdup("line2");
printf("&b[0] = 0x%X\n", &b[0]);
(*bp) = realloc((*bp), sizeof(blah_t *) * 3);
(*bp)[2] = malloc(sizeof(blah_t *));
b[2]->name = strdup("line3");
printf("&b[0] = 0x%X\n", &b[0]);
(*bp) = realloc((*bp), sizeof(blah_t *) * 90000);
(*bp)[90000 - 1] = malloc(sizeof(blah_t *));
b[90000 - 1]->name = strdup("line4");
printf("&b[0] = 0x%X\n", &b[0]);
(*bp) = realloc((*bp), sizeof(blah_t *) * 90000 * 3);
(*bp)[(90000 * 3) - 1] = malloc(sizeof(blah_t *));
b[(90000 * 3) - 1]->name = strdup("line5");
printf("&b[0] = 0x%X\n", &b[0]);
printf("b[0]->name: %s\n", b[0]->name);
printf("b[1]->name: %s\n", b[1]->name);
printf("b[2]->name: %s\n", b[2]->name);
printf("b[89999]->name: %s\n", b[89999]->name);
printf("b[big]->name: %s\n", b[(90000 * 3) - 1]->name);
free(b[0]->name);
free(b[0]);
free(b[1]->name);
free(b[1]);
free(b[2]->name);
free(b[2]);
free(b[90000 - 1]->name);
free(b[90000 - 1]);
free(b[(90000 * 3) - 1]->name);
free(b[(90000 * 3) - 1]);
free(b);
return 0;
}