すみません!C言語初心者ですが質問です。
以下のプログラムをコンパイルしてみたところ、
よく分からないエラーが出ました。

#include<stdio.h>
#include<stdlib.h>
typedef struct{
char *word;
int num;
} BUCKET;//7行目

main(int argc, char* argv[])
{
int i,j;
if(argc<2){
printf("一つ以上の引数を入力してください\n");
exit(1);
}
BUCKET p[argc-1];//16行目
}

↓エラー内容
・・・\kadai51.c(16) : error C2275: 'BUCKET' : typedef 識別子に、クラス メンバ アクセス演算子 (->) を使用しました。
・・・\kadai51.c(7) : 'BUCKET' の宣言を確認してください。
・・・\kadai51.c(16) : error C2146: 構文エラー : ';' が、識別子 'p' の前に必要です。
・・・\kadai51.c(16) : error C2065: 'p' : 定義されていない識別子です。
・・・\kadai51.c(16) : error C2109: 配列または、ポインタでない変数に添字が使われました。

OSはWinXP、コンパイラはVisualC++6.0を使用しました。

XPではCは正しくコンパイルできないのですか?
誰か教えてください!