jianhong_wu 发表于 2015-4-6 12:51:26

全局变量,普通局部变量,静态局部变量各自应该用在哪些场合,各有什么特点?已解答。

问:
全局变量,普通局部变量,静态局部变量各自应该用在哪些场合,各有什么特点?

坚鸿-深圳:
关于全局变量,普通局部变量,静态局部变量,我总结的经验是:
(1)全局变量应用在各个框架函数之间的消息传递。
(2)普通局部变量,用在一些算法函数里面的,可以独立的,跟外部其它函数无关的,执行的次数比较少的场合。如果需要经常被执行的函数,还是直接用静态局部变量,因为不用每次进来子函数都要多执行一次初始化指令,多消耗一条指令的时间。普通局部变量因为有可能跟其它函数的普通局部变量共用一个RAM地址,所以比静态变量节省RAM。
(3)静态局部变量。最大的好处是不用每次进来都被初始化一次,可以保存上一次的数值,很适合用在状态机框架的程序里。还有一个好处是,因为不用每次进来子函数都要多执行一次初始化指令,所以比普通局部变量少执行了1条初始化的指令。静态局部变量都是自己单独享用一个RAM地址的,所以比普通局部变量多占用RAM内存。

又一个暑假 发表于 2015-4-6 15:46:50

全局变量和静态局部变量占用RAM的内存是否一样

jianhong_wu 发表于 2015-4-6 16:05:36

又一个暑假 发表于 2015-4-6 15:46
全局变量和静态局部变量占用RAM的内存是否一样

是一样的。
页: [1]
查看完整版本: 全局变量,普通局部变量,静态局部变量各自应该用在哪些场合,各有什么特点?已解答。