当前位置:网站首页>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 .
边栏推荐
- Au - delà du PARM! La maîtrise de l'Université de Pékin propose diverse pour actualiser complètement le classement du raisonnement du NLP
- lv_font_conv离线转换
- Where is the operation of convertible bond renewal? Is it safer and more reliable to open an account
- JMeter performance test: serveragent resource monitoring
- lv_ font_ Conv offline conversion
- Bugku easy_ nbt
- Common MySQL interview questions
- Common PHP interview questions (1) (written PHP interview questions)
- How to introduce devsecops into enterprises?
- P6183 [USACO10MAR] The Rock Game S
猜你喜欢
随机推荐
No one consults when doing research and does not communicate with students. UNC assistant professor has a two-year history of teaching struggle
Bubble sort, insert sort
Aike AI frontier promotion (7.5)
swiper. JS to achieve barrage effect
Bugku's Ping
CSRF, XSS science popularization and defense
Bugku easy_ nbt
P1451 calculate the number of cells / 1329: [example 8.2] cells
[JVM] operation instruction
Ecotone technology has passed ISO27001 and iso21434 safety management system certification
CSDN I'm coming
市值蒸发超百亿美元,“全球IoT云平台第一股”赴港求生
Leetcode: Shortest Word Distance II
可转债打新在哪里操作开户是更安全可靠的呢
MySQL之CRUD
JMeter performance test: serveragent resource monitoring
[recruitment position] infrastructure software developer
Anti shake and throttling
DVWA range clearance tutorial
Array sorting num ranking merge in ascending order

![1330: [example 8.3] minimum steps](/img/69/9cb13ac4f47979b498fa2254894ed1.gif)







