当前位置:网站首页>Keyword static
Keyword static
2022-07-06 02:16:00 【Awei II】
Common keywords
auto break case char const continue default do double else enum extern float for goto if int register return short signed sizeof static struct switch typedef union unsigned void volatile while
among static Keywords are more important , Let's talk about it alone
static Keywords have three functions 1. Modify local variables 2、 Modify global variable 3、 Modify function
1、 Modify local variables
First of all, look at such a string of code
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void test()
{
int a = 1;
a++;
printf("%d\2", a);
}
int main()
{
int i = 0;
while (i < 10)
{
test();
i++;
}
return 0;
}
The output of the above code is as follows

Local variables in the above code a Didn't add static, So every time you jump out of the loop ,a The value of will become a++ The value of is 2, So every time the output value is 2
Now look at local variables a And before static, The following code snippet
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void test()
{
static int a = 1;
a++;
printf("%d\2", a);
}
int main()
{
int i = 0;
while (i < 10)
{
test();
i++;
}
return 0;
}
The output of the above code segment is as follows

Join in static keyword , Every time I output a The values of are preserved , So it will be based on the original ++
2、 Modify global variable
First, define a global variable in a source file

Then output the global variable under another source file

You can see the global variables g_val It can output normally .
Now? , If you add static

Then continue to output this global variable under another source file

Can see , Something went wrong , use static The defined global variables cannot be output under another source file , This is because static Defined global variables can only be in their own internal .c In the source file , But it cannot be used in the whole project , But generally defined global variables can be used in the whole project . Global variables , Other files can be used because global variables are externally linked . however static After decorating the global variables , It has the internal connection property , So it can't be used in the whole project .
3、static Decorate global functions
First, define a global function under a source file , as follows

Call this function under another source file , The following is after the call

Can see , Under normal circumstances, the global functions defined can be called under other source files
Now when defining the global function, add static

Then call under other source files , give the result as follows

Call error , This is because of the relationship with static Modifying global variables is similar to , Add static It means to change the external connectivity of the original global function into internal connectivity , As a result, it cannot be used in the whole project .
边栏推荐
- 一题多解,ASP.NET Core应用启动初始化的N种方案[上篇]
- Shutter doctor: Xcode installation is incomplete
- 爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
- Unity learning notes -- 2D one-way platform production method
- Global and Chinese market of wheelchair climbing machines 2022-2028: Research Report on technology, participants, trends, market size and share
- D22:indeterminate equation (indefinite equation, translation + problem solution)
- Concept of storage engine
- 零基础自学STM32-复习篇2——使用结构体封装GPIO寄存器
- MySQL learning notes - subquery exercise
- Global and Chinese markets of nasal oxygen tubes 2022-2028: Research Report on technology, participants, trends, market size and share
猜你喜欢

LeetCode 103. Binary tree zigzag level order transverse - Binary Tree Series Question 5

Unity learning notes -- 2D one-way platform production method

Know MySQL database

Minecraft 1.16.5 biochemical 8 module version 2.0 storybook + more guns

NiO related knowledge (II)

Using SA token to solve websocket handshake authentication

Audio and video engineer YUV and RGB detailed explanation

Exness: Mercedes Benz's profits exceed expectations, and it is predicted that there will be a supply chain shortage in 2022
![[Clickhouse] Clickhouse based massive data interactive OLAP analysis scenario practice](/img/3a/63f3e89ddf84f23f950ed9620b4405.jpg)
[Clickhouse] Clickhouse based massive data interactive OLAP analysis scenario practice

Online reservation system of sports venues based on PHP
随机推荐
技术管理进阶——什么是管理者之体力、脑力、心力
Dynamics 365 开发协作最佳实践思考
VIM usage guide
Grabbing and sorting out external articles -- status bar [4]
Use image components to slide through photo albums and mobile phone photo album pages
2 power view
剑指 Offer 30. 包含min函数的栈
How to set an alias inside a bash shell script so that is it visible from the outside?
Use the list component to realize the drop-down list and address list
Derivation of Biot Savart law in College Physics
Redis key operation
Global and Chinese market of wheelchair climbing machines 2022-2028: Research Report on technology, participants, trends, market size and share
729. 我的日程安排表 I / 剑指 Offer II 106. 二分图
Jisuanke - t2063_ Missile interception
Minecraft 1.16.5 生化8 模组 2.0版本 故事书+更多枪械
Regular expressions: examples (1)
Text editing VIM operation, file upload
D22:indeterminate equation (indefinite equation, translation + problem solution)
729. My schedule I / offer II 106 Bipartite graph
Comments on flowable source code (XXXV) timer activation process definition processor, process instance migration job processor