0
我想malloc的三維數組,然後初始化,如下所示,問題是,我得到一個警告,說我想「解引用一個未定義的指針值」在下面一行:Parque->matriz[i][j][p]='@';
取消引用未定義的指針值?
任何幫助將不勝感激。
我的代碼如下:
parque *Parque;
Parque = (parque *) malloc(sizeof(parque));
Parque->matriz = (char***)malloc(x * sizeof(char **));
for (i = 0; i < x; i++)
{
Parque->matriz[i] = (char**)malloc(y * sizeof(char*));
for (j = 0; j < y; j++)
{
Parque->matriz[i][j] = (char*)malloc(z*sizeof(char));
}
}
for (p=0; p<z; p++)
{
for (j=y-1;j>=0; j--)
{
for (i=0; i<x; i++)
{
Parque->matriz[i][j][p]='@';
}
}
}
,這是結構公園的定義:
struct _parque{
int dimx;
int dimy;
int pisos;
int entradas;
int acessos;
int nodes;
char ***matriz;
int capacidade;
int lugares_ocupados;
};
typedef struct _parque parque;
什麼分配給'Parque'? – dasblinkenlight
我認爲Parque是一種結構,但我希望看到第一個的定義。 – arduic
哦,對不起,我忘了發佈它的定義。 @dasblinkenlight –