当前位置:网站首页>static在不同位置定义变量居然还有不同的含义?
static在不同位置定义变量居然还有不同的含义?
2022-08-04 05:00:00 【嵌入式悦翔园】
static在不同位置定义变量的含义
一、前言
static 想必大家都不陌生,我们经常使用static来定义一个变量,那你知道在函数内部定义和在函数外部定义变量有什么区别吗?今天我们就static在不同位置定义变量的区别进行讲解。
注意: 为了便于理解本文采用了和课本上有区别的口语化讲解,没有直接整理成一个一个的点,我觉得口头的讲解大家对于本章会更容易理解,但是这也需要你更有耐心的去看!
二、静态变量的特殊性
当我们在一个函数内定义变量时在变量类别前加上static关键词,则该变量就变成了静态变量。那么静态变量和普通变量有什么区别呢?
首先我们需要知道变量的存储是可以分为两部分的,一部分变量存储在全局数据区,一部分存储在内存出栈数据区。
知道了这个知识之后我们就可以来试着理解以下我下面说的,静态变量就是存储在全局数据区(静态存储区)的,而非静态变量(又叫动态变量)则存储在内存出栈数据区,这样静态变量由于存储在全局数
边栏推荐
- 【SemiDrive源码分析】【MailBox核间通信】47 - 分析RPMSG_IPCC_RPC 方式 单次传输的极限大小 及 极限带宽测试
- 【流程图】
- [Skill] Using Sentinel to achieve priority processing of requests
- Towards Real-Time Multi-Object Tracking(JDE)
- C Expert Programming Chapter 4 The Shocking Fact: Arrays and pointers are not the same 4.4 Matching declarations to definitions
- Uni-app 小程序 App 的广告变现之路:全屏视频广告
- 数据治理平台项目总结和分析
- Write golang simple C2 remote control based on gRPC
- centos 安装postgresql13 指定版本
- 图像处理之Bolb分析(一)
猜你喜欢
随机推荐
7-2 LVS+DR Overview and Deployment
JVM Notes
centos 安装postgresql13 指定版本
OpenGL绘制一个圆锥
少年成就黑客,需要这些技能
mysql索引笔记
有趣的 Kotlin 0x0E:DeepRecursiveFunction
7.LVS负载均衡群集之原理叙述
7-2 LVS+DR概述与部署
数据治理平台项目总结和分析
Towards Real-Time Multi-Object Tracking (JDE)
如何打造一篇优秀的简历
详解八大排序
How to simplify the automation of modern e-procurement?
C Expert Programming Chapter 5 Thinking about Linking 5.2 Advantages of Dynamic Linking
[One step in place] Jenkins installation, deployment, startup (complete tutorial)
C专家编程 第5章 对链接的思考 5.1 函数库、链接和载入
C专家编程 第5章 对链接的思考 5.6 轻松一下---看看谁在说话:挑战Turning测验
【21天学习挑战赛】图像的旋转问题(二维数组)
文件系统的简单操作








