因为,指向数组的指针含有数组的跨度特性。所以,可以使用int(*)[N]指向列长为N的二维数组;而int(*)[N][M]可以指向后两维为[N][M]的三维数组。而对数组元素的访问与它们所指向的数组一样。譬如,可以用循环,也可以在初始化时用如下形式:int num={{{1,2,3},{4,5,6},{7,8,9} },...
可以用三维申请空间的方法:double ***p;p = (double ***)calloc(13, sizeof(double **));for(k=0; k<13; k++){ p[k] = (double **)calloc(15, sizeof(double *));for(i=0; i<15; i++){ p[k][i] = (double *)calloc(3, sizeof(double));} } ...
void check(int * * *ppp) {printf("三维数组Begin:{\n");printf("{ %d,%d,\n", ppp[0][0][0], ppp[0][0][1]);printf("%d,%d,%d,%d,\n", ppp[0][1][0], ppp[0][1][1], ppp[0][1][2], ppp[0][1][3]);printf("%d,%d,%d,%d,%d },\n", ppp[0][2]...
三维数组指针在程序里也是干这个事儿的,它告诉计算机要先在第一维的数组里定位,然后在第二维,最后在第三维找到那个准确的数据。 我有时候就觉得啊,这编程的世界真是奇妙。从整理我的小卡片这样简单的事情里,都能找到和那些看起来高深莫测的编程概念相似的地方。三维数组指针虽然听起来有点复杂,但只要你像我整理...