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

Posted YuRi

tags:

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

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

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

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

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

c语言怎样声明和定义全局变量

C语言中,宏替换与定义全局变量的区别是啥?

C语言,怎么用for 循环给数组赋值 ? 说的简单详细点, 谢谢了

c语言中的strcpy啥意思,简单点解释

C语言中怎样在头文件中定义一个能够在所有文件中都可以使用的全局数组变量 ?

C语言全局变量(c文件和h文件中的全局变量静态全局变量)使用注意事项