#include <stdio.h>
#include <stdlib.h>

typedef struct blob {
    int x;
    int y;
} blob;

int main() {

    int i,j, r = 20, c = 10;
    blob*** grid = malloc(r*sizeof(blob**));

    for (i=0; i<r; i++) {
        grid[i] = malloc(c*sizeof(blob*));
        for (j=0; j<c; j++)
            grid[i][j] = malloc(sizeof(blob));
    }

    for (i=0; i<r; i++) {
        for (j=0; j<c; j++) {
            grid[i][j]->x = i+j;
            grid[i][j]->y = i*j;
        }
    }

    for (i=0; i<r; i++) {
        for (j=0; j<c; j++)
            printf("%d:%d\t", grid[i][j]->x, grid[i][j]->y);
        printf("\n");
    }

    for (i=0; i<r; i++) {
        for (j=0; j<c; j++)
            free(grid[i][j]);
        free(grid[i]);
    }
    free(grid);

    return 0;
}
