存储特点:
1)静态局部变量属于静态存储,变量存放在静态存储区。在程序执行过程中,即使所在函数调用结束也不释放。换句话说,在程序执行期间,静态局部变量始终存在,但其它函数是不能引用它们的。
2)定义如果不初始化,则自动赋以"0"(整型和实型)或'\0'(字符型),且每次调用它们所在的函数时,不再重新赋初值,只是保留上次调用结束时的值。
静态局部变量与自动局部变量有什么异同呢?
相同点:都是局部变量,即作用域相同。
不同点:1)存储的地点不同,自动局部变量存储于动态存储区中,而静态局部变量存储于静态存储区中。
2)二者的寿命不同,自动局部变量从函数执行时开始存在,函数调用结束时自动销毁;静态局部变量从程序开始时存在,即静态局部变量存在于函数开始之前,程序结束时销毁,寿命是全局的。
需要保留函数上一次调用结束时的值时,往往使用静态局部变量。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] 下一页