| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C语言常用关键字之静态关键字static的使用 -> 正文阅读 |
|
[C++知识库]C语言常用关键字之静态关键字static的使用 |
哈喽大家好,今天小编给大家介绍一个C语言的常用关键字static,刚入门的小伙伴可能对static深感头疼,接下来让我们一起揭开static的神秘面纱吧 static语言修饰的对象
? ?static修饰局部变量 1.用static修饰的局部变量,会延长局部变量的寿命,改变变量的生命周期 2.让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束
下面大家和小编一起分析一下这段代码吧 函数从主函数main函数入,i=0,a=2,然后进入for循环里,在for循环中对i作出判断,i从0开始到2结束,循环3次,每一次循环都要打印一次sum(a)的返回值 i=0,符合循环条件,进入循环,输出sum(a)的返回值,此时程序进入自定义函数sum,c=0,b=3(注意b是被static修饰的变量),程序往下走,c=0+1=1,b=3+2=5,此时return(1+5+2)=8,所以第一次循环时在屏幕上打印的值为8 i=1,符合循环条件,进入循环,输出sum(a)的返回值,此时程序进入自定义函数sum,c=0,b=3,c=0+1=1,(因为c为局部变量,每次循环结束之后,c就被 int c重新初始化为0了),b=5+2=7(因为b被static函数修饰,此时b为静态局部变量)此时return(1+7+2)=10,所以第二次循环时在屏幕上打印的值为10 i=2,符合循环条件,进入循环,输出sum(a)的返回值,此时程序进入自定义函数sum,c=0,b=3,c=0+1=1,(因为c为局部变量,每次循环结束之后,c就被 int c重新初始化为0了),b=7+2=9(因为b被static函数修饰,此时b为静态局部变量)此时return(1+9+2)=12,所以第二次循环时在屏幕上打印的值为12 ? static修饰全局变量 全局变量的作用域是整个工程,但是如果用 static 修饰全局变量,就会使得全局变量失去外部链接属性,在这里,也要注意static修饰的全局变量--静态全局变量和全局变量的区别 全局变量的作用域是整个源程序,用 static 修饰全局变量,就会使得全局变量失去外部链接属性,变成内部链接属性,所以静态全局变量只能在自己的.C文件中使用 ?static修饰函数 static修饰函数时和static修饰全局变量很相似,因为函数一般都是有外部链接的,被 static 修饰后,会使得函数失去外部链接属性,变成内部链接属性。所以?static 修饰的函数只能在自己所在的 .c 文件内部使用,不能在其他文件中使用 ? ?? ?? ? |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 12:41:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |