C关键字auto的使用方法解决办法

C关键字auto的使用方法
工作2年了,从来没用过关键字auto,心血来潮用了一把竟然编译错误(gcc 4.4.6),
求解释,auto不能修饰全局变量吗?看过好几本书都说所有变量默认都是auto类型的。

//编译错误的程序
auto int G_int_val;

int main()
{
G_int_val++;
return 0;
}
//error: file-scope declaration of 'G_int_val' specifies 'auto'


//编译OK的程序
int main()
{
auto char ch;
return 0;
}

------解决方案--------------------
auto不能修饰全局变量吗?
不能

看过好几本书都说所有变量默认都是auto类型的。
这里的变量指local的,即你编译OK的程序中的那种,然后是可以省略的。