10次元配列を動的に確保ってこういうこと?
#include<stdio.h>
#include<stdlib.h>
main(){
  int i,j,ii,num,*p;
  
  num=3;
  p=(int *)malloc(sizeof(int)*10*10*num);
  for(ii=0;ii<num;ii++){
    for(i=0;i<10;i++){
      for(j=0;j<10;j++){
        p[100*ii+i*10+j]=100*ii+i*10+j;
      }
    }
  }
  for(ii=0;ii<num;ii++){
    for(i=0;i<10;i++){
      for(j=0;j<10;j++){
        printf("%d ",p[100*ii+i*10+j]);
      }
      printf("\n");
    }
    printf("\n");
  }
  free(p);
  return 0;
}