C語言中全局數組的注意點


假如有一個全局數組,int a[100],當在函數中對它進行操作,尤其是需要反復計算時,要注意它的狀態。因為全局數組一旦存有數據,就不會隨着某些函數的結束而清空。
舉例:階乘的一個算法中,配置全局數組之后,每次對具體的一個數計算階乘時,都要對數組的部分元素進行計算,而下次再計算另一個數時,就會借用上次的值,因此而發生錯誤。代碼模型如下:

int a[100];/*全局數組*/
void f( )/*計算函數*/
{
    ....操作數組a....
}
main()
{
    do
    {
       ...重復計算階乘..
    f( ); /*調用函數*/
    }while(1);
..
}

每次調用函數都要將全局數組還原到最初狀態,可以用memset()函數、


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM