当前位置:网站首页>static在不同位置定义变量居然还有不同的含义?
static在不同位置定义变量居然还有不同的含义?
2022-08-04 05:00:00 【嵌入式悦翔园】
static在不同位置定义变量的含义
一、前言
static
想必大家都不陌生,我们经常使用static
来定义一个变量,那你知道在函数内部定义和在函数外部定义变量有什么区别吗?今天我们就static
在不同位置定义变量的区别进行讲解。
注意: 为了便于理解本文采用了和课本上有区别的口语化讲解,没有直接整理成一个一个的点,我觉得口头的讲解大家对于本章会更容易理解,但是这也需要你更有耐心的去看!
二、静态变量的特殊性
当我们在一个函数内定义变量时在变量类别前加上static
关键词,则该变量就变成了静态变量。那么静态变量和普通变量有什么区别呢?
首先我们需要知道变量的存储是可以分为两部分的,一部分变量存储在全局数据区,一部分存储在内存出栈数据区。
知道了这个知识之后我们就可以来试着理解以下我下面说的,静态变量就是存储在全局数据区(静态存储区)的,而非静态变量(又叫动态变量)则存储在内存出栈数据区,这样静态变量由于存储在全局数
边栏推荐
- 【云原生--Kubernetes】Pod资源管理与探针检测
- JVM Notes
- C Expert Programming Chapter 4 The Shocking Fact: Arrays and pointers are not the same 4.2 Why does my code not work
- C Expert Programming Chapter 5 Thinking about Linking 5.2 Advantages of Dynamic Linking
- Use serve to build a local server
- [Cocos 3.5.2]开启模型合批
- Towards Real-Time Multi-Object Tracking(JDE)
- 3000字,一文带你搞懂机器学习!
- 如何打造一篇优秀的简历
- 系统设计.如何设计一个秒杀系统(完整版 转)
猜你喜欢
随机推荐
[Cocos 3.5.2]开启模型合批
leetcode 12. 整数转罗马数字
ADC噪声全面分析 -03- 利用噪声分析进行实际设计
10 Convolutional Neural Networks for Deep Learning 3
大型连锁百货运维审计用什么软件好?有哪些功能?
Chapter 5 C programming expert thinking 5.4 alert Interpositioning of links
Tensors - Application Cases
C专家编程 第5章 对链接的思考 5.2 动态链接的优点
离线采集怎么看sql执行计划
【评价类模型】Topsis法(优劣解距离法)
解决错误:npm WARN config global `--global`, `--local` are deprecated
Interesting Kotlin 0x0E: DeepRecursiveFunction
C Expert Programming Chapter 4 The Shocking Fact: Arrays and Pointers Are Not the Same 4.5 Other Differences Between Arrays and Pointers
C Expert Programming Chapter 4 The Shocking Fact: Arrays and pointers are not the same 4.2 Why does my code not work
【C语言进阶】程序环境和预处理
Stop behind.
C专家编程 第4章 令人震惊的事实:数组和指针并不相同 4.2 我的代码为什么无法运行
Explain detailed explanation and practice
7. The principle description of LVS load balancing cluster
System design. How to design a spike system (full version transfer)