对不同规模、不同数据进行排序时,当数据过多时,程序运行失败——overflow(溢出),
解决办法:将数组定义为全局静态变量http://http://blog.chinaunix.net/uid-21411227-id-1826981.html
全局静态变量:在全局变量之前加上关键字static,全局变量就被定义一个全局静态变量
1)内存中的位置:静态存储区(静态存储区在整个程序运行期间都存在)
2)初始化:未经初始化的全局静态变量会被程序自动初始化为0
3)作用域:全局静态变量在声明他的文件之外是不可见的,准确地讲从定义开始到文件结尾
全局变量和全局静态变量的区别:
1)若程序由一个源文件构成时,全局变量与全局静态变量没有区别
2)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享,即:全局静态变量对组成该程序的其他源文件是无效的
3)具有外部链接的静态;可以在所有源文件里调用:其他文件可以通过extern的方式引用
静态全局变量的作用:
(a)不必担心其它源文件使用相同变量名,彼此相互独立。
(b)在某源文件中定义的静态全局变量不能被其他源文件使用或修改。
(c) 只能在本文件中使用!具有内部链接的静态;不允许在其他文件里调用;