Cでの初期化について聞きたいのですが、
以下のコードで、

typedef struct{
    int x;
    int y;
} Point;

// 通る
Point p = {1,1};

// 通らず
Point p2[] = {
    {1,1},
    {2,2},
    {3,3},
    {4,4],
    (Point*)NULL // *1
};

Point *p3[] = {
    { {1,1},{2,2},{3,3},{4,4}, }, // *2
    { {1,1},{2,2},{3,3},{4,4}, },
    { {1,1},{2,2},{3,3},{4,4}, },
    { {1,1},{2,2},{3,3},{4,4}, },
    (Point**)NULL
};

*1 :warning 間接参照のレベルが 'int ' と 'struct Point *' で異なっています。
*2 :warning 間接参照のレベルが 'struct Point *' と 'const int ' で異なっています。
*2 :error   初期化子の数が多すぎます。
*2 以下の整数に対して一つずつ : warning 間接参照のレベルが 'struct Point *' と 'const int ' で異なっています。

というエラーが出てしまいます・・・

たぶん、コード見ればやりたいことはわかってくれると思いますが、
こういう初期化はできるのでしょうか?

環境は、Win98SE & VC6 std です。

ご教授よろしくお願いしますm(_ _)m