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;}