>>234
宣言するときに
char a[]="text";
のように初期化する文字列があれば
括弧のなかには数字は無くても
文字数+1の領域が用意されます。
char a[];
だけだと領域の大きさが分からないからダメです。
関数の引数で
char a[]
と書かれてるときはポインタとして扱われて
char *a
となります。

多分こんなかんじだと思う(--;)