当前位置:网站首页>Advanced level of static and extern
Advanced level of static and extern
2022-07-05 15:26:00 【Houli crab 670】
First of all, it is only within the scope of my knowledge , If it is incomplete or wrong , Welcome to point out thank you .
extern
extern Is used to declare external symbols ( In other projects )
Such as : In the same source file , I defined a global variable in a project , If you want to use it in another project , So you need extern Modify the , Pictured :
Of course, modifying functions is the same way , Pictured :
I believe you can understand at a glance , No explanation , If I don't know, I'll send a private message ok
static
There are three ways to use it , Here we will elaborate one by one
Before talking about these three methods of use , Let's start with something else ( I don't know what to call )
It is divided into these areas in the memory of the computer ( Of course, there are more than these ), The stack area will be destroyed after the life cycle , The life cycle of the static area is consistent with that of the program , Only the program ends , The life cycle of the static area will come to an end , such as :
According to the principle that , It should output "234567891011" Of , But only 10 individual 2, The reason is because a Stored in the stack , After using it once ,a Your data will not be saved , Destroy after running , So every output print() When , It's all about letting a=1 Start calculating , So there is the above result . The following will say how to solve this problem .
Modify local variables
Like the code diagram above , If you put a Put it in the static area a Data will not be destroyed , Pictured
such , Only static Modifying variables a Just ,a It is put into the static area , So the data is preserved , The above results are output .
therefore , If you want local variables not to be destroyed, you can use static modification .
Modify global variable
Before I talk about it , Global variables are those with external link properties , Generally speaking, it can be used extern Statement to use .
Just like this.
But if you use static Embellished words , It will put the global variables into the static area ( Look at the picture above ) So that it no longer has external link properties ( Directly above )
Use static It will be like this ,“ An unresolved external instruction ”, That is because it is put into the static area .
When you don't want others to use this variable ( function ) Or for other purposes , You can use static To modify global variables .
Modify function
Like global variables, they all have external link attributes , If you are static After modification, there are only internal link attributes , Similarly, it cannot be used in other projects of the same source file . Such as :
This is not added static Of
This is a plus static Of
And... Will appear after adding static Modify global variables , The usage is similar to that of global variables .
That's right static and extern Understanding of usage .
边栏推荐
- 超越PaLM!北大碩士提出DiVeRSe,全面刷新NLP推理排行榜
- sql server char nchar varchar和nvarchar的区别
- JS bright blind your eyes date selector
- Bugku alert
- 复现Thinkphp 2.x 任意代码执行漏洞
- Severlet learning foundation
- Bugku's steganography
- P6183 [USACO10MAR] The Rock Game S
- lv_ font_ Conv offline conversion
- 可视化任务编排&拖拉拽 | Scaleph 基于 Apache SeaTunnel的数据集成
猜你喜欢
Live broadcast preview | how to implement Devops with automatic tools (welfare at the end of the article)
Common PHP interview questions (1) (written PHP interview questions)
Good article inventory
Object. defineProperty() - VS - new Proxy()
超越PaLM!北大碩士提出DiVeRSe,全面刷新NLP推理排行榜
Bugku's Eval
Misc Basic test method and knowledge points of CTF
Thymeleaf uses background custom tool classes to process text
百亿按摩仪蓝海,难出巨头
Stop B makes short videos, learns Tiktok to die, learns YouTube to live?
随机推荐
B站做短视频,学抖音死,学YouTube生?
NBA赛事直播超清画质背后:阿里云视频云「窄带高清2.0」技术深度解读
机器学习笔记 - 灰狼优化
Bugku's eyes are not real
mapper.xml文件中的注释
DVWA range clearance tutorial
Does maxcompute have SQL that can query the current storage capacity (KB) of the table?
Severlet learning foundation
MySQL 巨坑:update 更新慎用影响行数做判断!!!
Anti shake and throttling
Bubble sort, insert sort
Your childhood happiness was contracted by it
12 MySQL interview questions that you must chew through to enter Alibaba
Ionic Cordova project modification plug-in
【jvm】运算指令
What are CSRF, XSS, SQL injection, DDoS attack and timing attack respectively and how to prevent them (PHP interview theory question)
漫画:程序员不是修电脑的!
Visual task scheduling & drag and drop | scalph data integration based on Apache seatunnel
Can gbase 8A view the location of SQL statement history?
Talk about your understanding of microservices (PHP interview theory question)