当前位置:网站首页>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 .
边栏推荐
- leetcode-2.回文判断
- Gbase 8C database upgrade error
- LeetCode 103. Binary tree zigzag level order transverse - Binary Tree Series Question 5
- Comments on flowable source code (XXXV) timer activation process definition processor, process instance migration job processor
- Know MySQL database
- FTP server, ssh server (super brief)
- 技术管理进阶——什么是管理者之体力、脑力、心力
- Executing two identical SQL statements in the same sqlsession will result in different total numbers
- Using SA token to solve websocket handshake authentication
- 剑指 Offer 30. 包含min函数的栈
猜你喜欢
Easy to use js script
[community personas] exclusive interview with Ma Longwei: the wheel is not easy to use, so make it yourself!
RDD conversion operator of spark
vs code保存时 出现两次格式化
Leetcode sum of two numbers
Lecture 4 of Data Engineering Series: sample engineering of data centric AI
Using SA token to solve websocket handshake authentication
Jisuanke - t2063_ Missile interception
使用npm发布自己开发的工具包笔记
Overview of spark RDD
随机推荐
Dynamics 365 开发协作最佳实践思考
sql表名作为参数传递
Paper notes: graph neural network gat
Ali test open-ended questions
2022 PMP project management examination agile knowledge points (8)
1. Introduction to basic functions of power query
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
Grabbing and sorting out external articles -- status bar [4]
Apicloud openframe realizes the transfer and return of parameters to the previous page - basic improvement
GBase 8c数据库升级报错
Minecraft 1.16.5 biochemical 8 module version 2.0 storybook + more guns
[eight part essay] what is the difference between unrepeatable reading and unreal reading?
PAT甲级 1033 To Fill or Not to Fill
LeetCode 103. Binary tree zigzag level order transverse - Binary Tree Series Question 5
Selenium waiting mode
Computer graduation design PHP campus restaurant online ordering system
2 power view
[solution] add multiple directories in different parts of the same word document
It's wrong to install PHP zbarcode extension. I don't know if any God can help me solve it. 7.3 for PHP environment
RDD partition rules of spark