C言語において配列のリテラルはchar型(文字列)以外存在しないのでしょうか?
例えば以下のようにchar型ポインタを初期化すると、リテラル値"test"の先頭アドレスがstrに格納されると思います。
char *str = "test";

ですが、これを次のようにint型にするとエラーになってしまいます。
int arr = {10, 20, 30};

これは{10, 20, 30}が配列を表していないということでしょうか?