1

この構造体で

typedef struct tNode_t {
    struct tNode_t **a;
} tNode;

a配列へのポイントをtNodeへの5つのポインターにできるようにしたい

メインの例:

int main()
{
    tNode t;
    tNode (*alpha)[5];
    t.a = alpha;
}

なぜこれが機能しないのですか?

4

2 に答える 2

4

これは、tNodeの配列へのポインターを定義します。

tNode (*alpha)[5];

これは、tNodeへのポインタの配列を定義します。

tNode *alpha[5];
于 2012-12-02T20:30:50.873 に答える
0

あなたのコードalphaaは、非常に異なるオブジェクトへのポインタです。また、両方ともポインタであるため、正しく定義したように、減衰は発生しません。配列のみが減衰するためalpha、別のポインタ型に単純に減衰することはできません。

そして、なぜそれらはそれほど異なっているのですか?aをインクリメントすると、次のを指しstruct tNode_t *ます。インクリメントalphaすると、さらに5ポイントになりますstruct tNode *

于 2012-12-02T20:29:10.757 に答える