当前位置: 首页 > news >正文

做网站多少钱_西宁君博相约宿迁人才网

做网站多少钱_西宁君博相约,宿迁人才网,成都网站建设哪家好文章,新手做网站遇到的问题以及解决方案变量在内存中存放的位置static 修饰局部变量 当局部变量 a 没有被static修饰时,运行结果如图所示是十个6,这是因为局部变量 a 在内存的栈区中存放,栈区的特点是进入作用域创建,出作用域销毁,而局部变量 a 的作用域在函…

变量在内存中存放的位置

内存大概划分这三个区域

static 修饰局部变量

  1. 当局部变量 a 没有被static修饰时,运行结果如图所示是十个6,这是因为局部变量 a 在内存的栈区中存放,栈区的特点是进入作用域创建,出作用域销毁,而局部变量 a 的作用域在函数 test() 中,在程序第一次执行到 test() 函数里面时,局部变量 a 被创建,在程序执行完 test() 函数时,局部变量 a 被销毁,当程序第二次执行到 test() 函数里面时,局部变量 a 又被重新创建,因此每次执行 test() 函数局部变量 a 都被重新赋值,,导致每次打印的结果都是6
    局部变量未被修饰时
  2. 当局部变量 a 被static修饰时,变量 a 由局部变量变成了静态变量,位置由原本的栈区变成了静态区,静态区的特点是变量创建好后直到程序结束才销毁。由于变量 a 被static修饰成了静态变量,在程序被编译的时候变量 a 就被创建好了,并在程序结束时变量 a 才会被销毁,在程序结束之前一直存储在静态区。并且在执行 test() 函数时,会跳过 static int a = 5; 这条语句,不会对变量 a 进行重新赋值,可以起到一个累加的效果。修饰局部变量

static 修饰全局变量

  1. static 未修饰全局变量时,如图 add.c 源文件定义变量 g_val ,,由于全局变量具有外部链接属性,因此在 test.c 源文件中可以使用变量 g_val (在同一个工程内,并且 test.c 源文件中使用 extern 声明了 g_val 这个外部符号)未被修饰时
  2. static 修饰全局变量时,改变了这个全局变量的链接属性,由外部链接属性变成了内部链接属性,导致 g_val 变量只能在 add.c 源文件中使用(即使 test.c 源文件中使用 extern 声明外部符号 g_val 也不行)

static修饰函数

static修饰函数和static修饰全局变量是一样的,函数是有外部链接属性的,但是被static修饰就变成了内部链接属性,使得这个函数只能在自己所在的源文件中使用(未被修饰时,同样需要extern 声明函数才可在其他源文件中使用)
在这里插入图片描述

http://www.dtcms.com/a/557869.html

相关文章:

  • v-code-diff入口文件的配置
  • 北京网站优化推广效果网站备案 取消
  • STM32 解锁芯片的方法
  • 滑窗|队列
  • EtherCAT转EtherNet/IP工业智能网关:保障罗克韦尔 PLC 与欧姆龙 PLC 双向稳定通讯
  • 宽城区网站建设昆山做网站
  • 软考 系统架构设计师系列知识点之杂项集萃(185)
  • 网站 如何备案河北网络推广系统
  • 数据结构-前置概念
  • 技术准备十四:odb
  • 网站程序指的是什么汕头seo网站排名
  • 公司网站建设外包流程图文网站建设费用计入什么科目
  • 天津做胎儿鉴定网站新浪sae wordpress略缩图设置
  • python - day 12
  • 【C++新特性】:谈谈C++20的协程(10000字讲清楚C++协程)
  • 邯郸网站设计建设网站优化开发
  • 【内存管理】深入理解CR3寄存器:进程地址空间切换与虚拟内存管理的核心枢纽
  • 做网站公司平台wordpress点击量
  • 个人网站备案转公司备案临沂企业建站系统模板
  • 康耐视智能相机IS2000与西门子PLC走Profinet 协议通讯设置详细步骤及案例详解
  • 佛山电商网站制作团队开网页多对什么要求高
  • (2)搭建基石:Qt开发环境
  • 县城做信息网站赚不赚钱网页设计随机点名代码
  • LLM+MCP工具调用
  • 建行网站网址是多少沧州地区做网站
  • OSTAR新技术点亮新的爱普生家庭投影机
  • C++进阶:(三)深度解析二叉搜索树原理及实现
  • 寻好子集:用两种思维探究所求可能
  • 【模板】线段树上二分
  • 网站源码怎么写外贸网站建设推广费用