C语言中全局数组的注意点

Posted YuRi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中全局数组的注意点相关的知识,希望对你有一定的参考价值。

假如有一个全局数组,int a[100],当在函数中对它进行操作,尤其是需要反复计算时,要注意它的状态。因为全局数组一旦存有数据,就不会随着某些函数的结束而清空。
举例:阶乘的一个算法中,配置全局数组之后,每次对具体的一个数计算阶乘时,都要对数组的部分元素进行计算,而下次再计算另一个数时,就会借用上次的值,因此而发生错误。这种错误的形状:

int a[100];/*全局数组*/
void f( )/*计算函数*/
{
    ....操作数组a....
}
main()
{
    do
    {
       ...重复计算阶乘..
    f( ); /*调用函数*/
    }while(1);
..
}

所以,在这种情境之下,每次调用函数都要将全局数组还原到最初状态,可以用memset()函数、

以上是关于C语言中全局数组的注意点的主要内容,如果未能解决你的问题,请参考以下文章