#include <stdio.h>
#include <stdlib.h>
int main (void) {
int ***ap;
ap = (int ***) malloc ( sizeof ( int ** ) * 3 );
for (int s = 0 ; s < 3 ; s++) {
*(ap+s) = (int **) malloc ( sizeof (int *) * 3 );
for (int m = 0 ; m < 3 ; m++)
*(*(ap+s)+m) = (int *) malloc ( sizeof (int) * 3 );
*(ap+s) = (int **) malloc ( sizeof (int *) * 3 );
for (int m = 0 ; m < 3 ; m++)
*(*(ap+s)+m) = (int *) malloc ( sizeof (int) * 3 );
}
for (int s = 0 ; s < 3 ; s++) {
for (int m = 0 ; m < 3 ; m++)
for (int n = 0 ; n < 3 ; n++)
*(*(*(ap+s)+m)+n) = n + m * 10 + s * 100;
}
*(*(*(ap+s)+m)+n) = n + m * 10 + s * 100;
}
printf ("%d \n", *(*(*(ap+1)+1)+1)); //111
printf ("%d \n", *(*(*(ap+2)+2)+2)); //222
/* 釋放記憶體空間 */
for (int s = 0 ; s < 3 ; s++)
for (int m = 0 ; m < 3 ; m++)
free (*(*(ap+s)+m));
for (int s = 0 ; s < 3 ; s++) free(*(ap+s));
free (ap);
return 0;
}
沒有留言:
張貼留言
請注意 : 您的留言發佈成功 , 需經審核後 , 才能決定是否回覆 . 謝謝 !!