Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 指向结构数组指针数组的2D指针数组_C_Arrays_Pointers - Fatal编程技术网

C 指向结构数组指针数组的2D指针数组

C 指向结构数组指针数组的2D指针数组,c,arrays,pointers,C,Arrays,Pointers,我有3个数组,定义如下: typedef struct heapMemNode { int *coord; int x, y; int *prevcoord; int px, py; int d; char tp; int *telcoord; int c; } hmemn; hmemn *heapmem = calloc((siz2+1), sizeof(hmemn)); int *heaploc = calloc((siz2+

我有3个数组,定义如下:

typedef struct heapMemNode
{
    int *coord;
    int x, y;
    int *prevcoord;
    int px, py;
    int d;
    char tp;
    int *telcoord;
    int c;
} hmemn;

hmemn *heapmem = calloc((siz2+1), sizeof(hmemn));
int *heaploc = calloc((siz2+1), sizeof(hmemn *));
int ***coords = (int ***)calloc((siz2+1), sizeof(int **));

for(i = 0; i<=siz2; i++){
    coords[i] = (int**)calloc((siz2+1),sizeof(int*));
}
typedef结构heapMemNode
{
国际协调;
int x,y;
int*prevcoord;
int-px,py;
int d;
char-tp;
国际电信公司;
INTC;
}hmemn;
hmemn*heapmem=calloc((siz2+1),sizeof(hmemn));
int*heaploc=calloc((siz2+1),sizeof(hmemn*);
int***coords=(int***)calloc((siz2+1),sizeof(int**));

对于(i=0;i这不是你想听的答案

经验法则:当你发现自己在C程序中编写了超过两个级别的间接寻址时,你就知道你的程序设计有缺陷,而且不必要晦涩难懂。没有任何情况下你需要三个级别的间接寻址

因此,在这里正确的做法是从关键字后退一步,并指定您想要解决的实际问题。似乎您正在尝试创建一些动态内存分配方案?或者可能是堆抽象数据类型?我不太明白发布的代码如何与这两个堆概念中的任何一个相适应

什么是阵列模型?是否实际需要将阵列解释为多维矩阵?通常,当您希望通过
arr[x][y]
访问阵列时,您会这样做

但是如果是这样的话,那么在结构本身中存储大量坐标有意义吗?您是否试图在多维数组中实现某种索引表?这有什么意义

为什么在一个由x和y访问的数组中有称为x和y的变量?以此类推


(同样,铸造malloc的结果也没有任何意义)

这不是你想要听到的答案

经验法则:当你发现自己在C程序中编写了超过两个级别的间接寻址时,你就知道你的程序设计有缺陷,而且不必要晦涩难懂。没有任何情况下你需要三个级别的间接寻址

因此,在这里正确的做法是从关键字后退一步,并指定您想要解决的实际问题。似乎您正在尝试创建一些动态内存分配方案?或者可能是堆抽象数据类型?我不太明白发布的代码如何与这两个堆概念中的任何一个相适应

什么是阵列模型?是否实际需要将阵列解释为多维矩阵?通常,当您希望通过
arr[x][y]
访问阵列时,您会这样做

但是如果是这样的话,那么在结构本身中存储大量坐标有意义吗?您是否试图在多维数组中实现某种索引表?这有什么意义

为什么在一个由x和y访问的数组中有称为x和y的变量?以此类推

(此外,铸造malloc的结果也没有任何意义)