900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 什么是静态变量 举例 C语言入门

什么是静态变量 举例 C语言入门

时间:2019-12-12 04:00:55

相关推荐

什么是静态变量 举例 C语言入门

欢迎关注笔者,你的支持是持续更博的最大动力

目录

相关描述代码举例相关阅读其他

相关描述

局部变量:定义在函数内部的变量(函数的形参也是局部变量),只能在定义它的函数内部使用

全局变量:定义在函数外面的变量,所有函数都可以使用

静态变量:有全局变量、前面加了“static”关键字的局部变量

区别:

静态变量的存放地址,在整个程序运行期间,都是固定不变的。非静态变量(一定是局部变量)地址每次函数调用时都可能不同,只在函数的一次执行期间不变

如果没明确初始化,则静态变量会被自动初始化成全0(每个bit都是0),局部非静态变量的值则随机

代码举例

下面是两段代码,除了第2段多了“static”关键字,其他内容一模一样,但输出结果却不同。

非静态变量

void Func(){int n = 4;//初始化语句 将非静态局部变量n初始化为4,且每次执行Func函数都会运行这一行cout << n << endl; //输出4++n;}int main(){Func(); Func(); Func(); //在主函数中调用Func函数三次}

这段代码将输出:

4

4

4

因为每次调用Fun函数,都执行了初始化语句,使得 n = 4, 不论 ++n执行多少次,下次调用函数时,还是会先初始化n。

静态变量

void Func(){static int n = 4; //初始化语句,有static关键字 将静态局部变量n初始化为4,只在函数第一次被执行的时候执行,静态变量地址固定cout << n << endl; //输出当前n的值,不一定是4++n;}int main(){Func(); Func(); Func(); //在主函数中调用Func函数三次}

这段代码将输出:

4

5

6

因为只有第1次调用Func函数时,才执行初始化语句,使得 n = 4,下次执行的时候,不会再执行初始化语句了。所以,第2次、第3次调用Fun函数时,n没有初始化,n的值是上一次调用函数后n的值。

从上面两段代码,可看出静态变量和非静态变量的区别。

相关阅读

int main 是什么

其他

日常vlog: 点这里去B站~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。