发布网友 发布时间:2023-10-05 12:53
共2个回答
热心网友 时间:2024-10-29 07:52
明确一下数组的概念比如:arr[2][3][4]
A 0...........1...........你程序里ptr1相当于上面图中C的位置,没问题。
你程序里ptr2相当于上面图中B的位置,需要i*j个
你程序里ptr3相当于上面图中A的位置,需要i个
具体的代码,你自己再改改吧
追问不太懂。。。追答上面那个图,主要是描述数组的index的,每一列代表一个int,然后可以通过arr[A][B][C]就可以定位到其中一个。然后列的序号可以看作是内存,或者指针位置,比如ptr1[0]指向的是0位置,那最后一个位置就是ptr1[23]。
ptr1对应C行的每一个位置,这个可以理解吧,ptr1下标+1,就走过一个int
然后ptr2对应的B行,相当于把ptr1划成了几个区域方便索引,ptr2的下标+1会跨越k个int,那ptr2的个数会需要i*j*k / k = i*j个
最后ptr3是把B行又划分了一次,ptr3的下标+1会跨越j个ptr2指向的区域,也就是j*k个int,所以需要i个ptr3
热心网友 时间:2024-10-29 07:53
part1,part2,part3的定义必须在开头。