Mientras los índices sean valores constantes no luce tan complicado:
Código:
#include <iostream>
using namespace std;
int main(){
int (*PSF)[57][65][65] = new int[57][57][65][65];
int i, j, k, w;
for(i = 0; i < 57; i++)
for(j = 0; j < 57; j++)
for(k = 0; k < 65; k++)
for(w = 0; w < 65; w++)
PSF[i][j][k][w] = 1;
int count = 0;
for(i = 0; i < 57; i++)
for(j = 0; j < 57; j++)
for(k = 0; k < 65; k++)
for(w = 0; w < 65; w++)
if(PSF[i][j][k][w] == 1) count++;
cout << (count == 57*57*65*65) << endl;
delete []PSF;
return 0;
}
El ejemplo es para que observes la manera de declarar el puntero, así como también las asignaciones y comprobación de las mismas a través de los índices i, j, k, w.