测试积点老人 发表于 2019-5-9 11:05:00

在C/C++中static有什么用途?(请至少说明两种)

RT
**** Hidden Message *****

abcsell 发表于 2019-5-10 09:21:32

静态变量

梦想家 发表于 2019-5-10 09:28:24

1. 函数内static局部变量:变量在程序初始化时被分配,直到程序退出前才被释放,也就是static是按照程序的生命周期来分配释放变量的,而不是变量自己的生命周期。多次调用,仅需一次初始化。

        2. cpp内的static全局变量:只在cpp内有效。在不同的cpp文件中定义同名变量,不必担心命名冲突。保持变量内容的持久。

        3. 头文件内的static全局变量:在每个包含该头文件的cpp文件中都是独立的。不推荐使用。

清晨一缕阳光 发表于 2019-5-10 09:48:47

1. 函数内static局部变量:变量在程序初始化时被分配,直到程序退出前才被释放,也就是static是按照程序的生命周期来分配释放变量的,而不是变量自己的生命周期。多次调用,仅需一次初始化。

      2. cpp内的static全局变量:只在cpp内有效。在不同的cpp文件中定义同名变量,不必担心命名冲突。保持变量内容的持久。

      3. 头文件内的static全局变量:在每个包含该头文件的cpp文件中都是独立的。不推荐使用。

jingzizx 发表于 2019-5-10 11:10:41

静态变量、全局变量

海海豚 发表于 2019-5-10 13:47:11

1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用

骑牛逗熊 发表于 2019-5-13 10:46:18

11
页: [1]
查看完整版本: 在C/C++中static有什么用途?(请至少说明两种)