>>490
つくっていただきありがとうございます。
走らせて見たのですが100*100*100など正立方体などはできるのですが1000*100*100
などの場合メモリがつながってないみたいです。私の設定がまちがってるのでしょうか?
以下に書きます

#include <stdio.h>
#include <malloc.h>

void main()

{
int N=100;

double (*cube)[1000][100];

cube = (double (*)[1000][100])malloc(sizeof(double) * 100 * 100* 100);
printf("%d,%d,%d,%d",&cube[0][0][99],&cube[0][1][0],&cube[0][99][99],&cube[1][0][0]);
}

でみてみたところ
5505880,5505888,5585080,6305088となり
cube[0][99][99]とcube[1][0][0]がはなれてるみたいです。
まちがっていたら指摘していただきたいです。