当前位置:网站首页>static在不同位置定义变量居然还有不同的含义?
static在不同位置定义变量居然还有不同的含义?
2022-08-04 05:00:00 【嵌入式悦翔园】
static在不同位置定义变量的含义
一、前言
static
想必大家都不陌生,我们经常使用static
来定义一个变量,那你知道在函数内部定义和在函数外部定义变量有什么区别吗?今天我们就static
在不同位置定义变量的区别进行讲解。
注意: 为了便于理解本文采用了和课本上有区别的口语化讲解,没有直接整理成一个一个的点,我觉得口头的讲解大家对于本章会更容易理解,但是这也需要你更有耐心的去看!
二、静态变量的特殊性
当我们在一个函数内定义变量时在变量类别前加上static
关键词,则该变量就变成了静态变量。那么静态变量和普通变量有什么区别呢?
首先我们需要知道变量的存储是可以分为两部分的,一部分变量存储在全局数据区,一部分存储在内存出栈数据区。
知道了这个知识之后我们就可以来试着理解以下我下面说的,静态变量就是存储在全局数据区(静态存储区)的,而非静态变量(又叫动态变量)则存储在内存出栈数据区,这样静态变量由于存储在全局数
边栏推荐
- Get the selected content of the radio box
- C Expert Programming Chapter 4 The Shocking Fact: Arrays and pointers are not the same 4.2 Why does my code not work
- 2003. 每棵子树内缺失的最小基因值 DFS
- Cache pool of unity framework
- 【C语言进阶】程序环境和预处理
- 将xml标签转换为txt(voc格式转换为yolo方便进行训练)
- C专家编程 第4章 令人震惊的事实:数组和指针并不相同 4.5 数组和指针的其他区别
- drools从下载到postman请求成功
- 技术解析|如何将 Pulsar 数据快速且无缝接入 Apache Doris
- C Expert Programming Chapter 4 The Shocking Fact: Arrays and pointers are not the same 4.4 Matching declarations to definitions
猜你喜欢
Mini program + e-commerce, fun new retail
The Shell function
结构体指针知识要点总结
8. Haproxy builds a web cluster
drools from download to postman request success
详解八大排序
如何简化现代电子采购的自动化?
附加:对于“与数据表对应的实体类“,【面对MongoDB时,使用的@Id等注解】和【以前面对MySQL时,使用的@Id等注解】,是不同的;
[Evaluation model] Topsis method (pros and cons distance method)
7-1 LVS+NAT 负载均衡群集,NAT模式部署
随机推荐
Stop behind.
触觉智能分享-SSD20X实现升级显示进度条
C专家编程 第5章 对链接的思考 5.6 轻松一下---看看谁在说话:挑战Turning测验
Tensors - Application Cases
drools从下载到postman请求成功
C专家编程 第4章 令人震惊的事实:数组和指针并不相同 4.3 什么是声明,什么是定义
px、em、rem的区别
编程大杂烩(三)
2023年PMP考试会用新版教材吗?回复来了!
manipulation of file contents
leetcode 12. 整数转罗马数字
【云原生--Kubernetes】Pod资源管理与探针检测
7-1 LVS+NAT 负载均衡群集,NAT模式部署
idea设置识别.sql文件类型以及其他文件类型
Converts XML tags to TXT format (voc conversion for yolo convenient training)
8. Haproxy builds a web cluster
21 days learning challenge 】 【 sequential search
Get the selected content of the radio box
day13--postman interface test
有趣的 Kotlin 0x0E:DeepRecursiveFunction