0

だから私は、構造体へのポインターのテーブルを使用する必要があるコードに取り組んでいます。ここにその構造タイプがあります

 #define liczbafunkcji 5
 #define wielkosclasu 0
 typedef struct drzewo typ;
 struct drzewo {

    typ *right;
    typ *left;
    typ *up;
    char znak;
    unsigned int instrukcje;
    unsigned int opcje;
    float value;
  };
 typ * t[wielkosclasu][rozmiar];

ここに割り当て関数があります

void przydziel(void)
{
int i,g;

for(i=0;i<wielkosclasu;i++)
{
    for(g=0;g<rozmiar;i++)
    {
            t[i][g]=(typ*)malloc(sizeof(typ));
    }
}
}

だから私がそのようなことをしているとき (*t[numerdrzewa][0]).up=NULL; 「SIGSEGV、セグメンテーション違反」と一緒です。(gdbで確認)その行にあり、何が問題なのかわかりません。

4

1 に答える 1

1

wielkosclasu0であるため、配列は空であり、t[numerdrzewa][0]常に配列の外にあります。また、関数は何もしません。

于 2012-09-09T21:22:08.703 に答える