当前位置:网站首页>Lesson 4 knowledge summary
Lesson 4 knowledge summary
2022-07-05 15:26:00 【Houli crab 670】
define Define constants and macros
define Define constants
define Define constants , Constant here refers to literal constant , Any constant can be defined , Such as :
#include <stdio.h>
#define MAX 25000
#define STR "Hello,CSDN"
Like the above two , Can be successfully compiled , Of course , There are other definitions , Not one by one .
define Defining macro
Such as :
#include <stdio.h>
#define MAX(x,y) ((x)>(y)?(X):(Y));
It is equivalent to
MAX (int x,int y){
int z=0;
z=((x)>(y)?(x):(y));
return z;
}
therefore define Defining macros is a little different from functions , This one has no return type , also "x","y" There is no description of the type of . Of course define There are many other ways to define macros , Here's just a brief look at .
The pointer
Speaking of pointers , Most people think this is a difficult thing to overcome , But actually , It's not as hard as rumors say , It's all rumors .
Pointer it is related to memory , Learn about memory , Pointers can be better understood .
It's in the computer ( With 32 Position as an example ), A memory unit is a byte , Similarly, a memory unit has an address .( Here is why a memory unit is not a bit ,kb,mb, But a simple explanation of a byte )
For example, define a char a=‘b’, as everyone knows a The memory occupied is one byte ( The previous articles mentioned , what Int,long All the memory occupied by ), And a byte is 8bit, So if a memory unit is one bit , Then a character variable needs 8 A bit ( Address ), An integer variable requires 4 Bytes , That is to say 32 The bit ( Address ), This pair of address numbers will waste a lot . alike , A memory unit is 1kb,1mb It's too big , So a memory unit is a byte .
There are two ways to define pointers
- int* p=a, It represents a pointer that defines an integer variable p, What's in it is a The address of
int a=9;int* p;*p=&a;It means the same as the above
ad locum*yes :*Dereference operator , It means through p Find the address stored inside p Point to
The size of the pointer variable
stay 32 The result of running in the bit platform is 4, stay 64 The result of bit platform operation is 8

The reason for the difference
First map
This is a 32 Platform , stay 32 Bit platform , An address is made up of 32 individual 2 Base numbers make up (8 individual 16 Base number ), And one 2 Hexadecimal number is 1bit, So an address takes up 4 Bytes (32bit=4byte)
Also in 64 In the platform , An address is made up of 64 individual 2 Base numbers make up , So an address takes up 8 Bytes (64bit=8byte)
Here the simple understanding of pointer is over
Structure
- Its use
Upper figure
The method used is the same as above , Just a little understanding , If you need to explain it in detail, I will talk about it after the following article . - Two output methods of structure
The first one is :
The second kind :
The second is output by function , It's not what I think , So I'm not familiar with the second one , So I didn't elaborate - Two methods of pointing to the structure
This is the function point
student1.name
This is a common point
- Enter structure data

Just a quick explanation , Because it's an array name , So the top name,sex,hometown Didn't take the address ( Because the array name is the address ), And integer needs to take the address ( Self understanding )
边栏推荐
- Coding devsecops helps financial enterprises run out of digital acceleration
- Definition of episodic and batch
- Ctfshow web entry command execution
- Stop B makes short videos, learns Tiktok to die, learns YouTube to live?
- Mysql---- function
- Can I pass the PMP Exam in 20 days?
- Hongmeng system -- Analysis from the perspective of business
- Bubble sort, insert sort
- Behind the ultra clear image quality of NBA Live Broadcast: an in-depth interpretation of Alibaba cloud video cloud "narrowband HD 2.0" technology
- NBA赛事直播超清画质背后:阿里云视频云「窄带高清2.0」技术深度解读
猜你喜欢

【jvm】运算指令

Coding devsecops helps financial enterprises run out of digital acceleration

First PR notes

Interpretation of Apache linkage parameters in computing middleware

Ctfshow web entry information collection

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

Behind the ultra clear image quality of NBA Live Broadcast: an in-depth interpretation of Alibaba cloud video cloud "narrowband HD 2.0" technology

MySQL之CRUD

NBA赛事直播超清画质背后:阿里云视频云「窄带高清2.0」技术深度解读

Garbage collection mechanism of PHP (theoretical questions of PHP interview)
随机推荐
【jvm】运算指令
The difference between abstract classes and interfaces in PHP (PHP interview theory question)
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
Reproduce ThinkPHP 2 X Arbitrary Code Execution Vulnerability
Common PHP interview questions (1) (written PHP interview questions)
MySQL 巨坑:update 更新慎用影响行数做判断!!!
The elimination strategy of redis
mapper. Comments in XML files
Go learning ----- relevant knowledge of JWT
复现Thinkphp 2.x 任意代码执行漏洞
Behind the ultra clear image quality of NBA Live Broadcast: an in-depth interpretation of Alibaba cloud video cloud "narrowband HD 2.0" technology
wxml2canvas
做研究无人咨询、与学生不交心,UNC助理教授两年教职挣扎史
Aike AI frontier promotion (7.5)
What are CSRF, XSS, SQL injection, DDoS attack and timing attack respectively and how to prevent them (PHP interview theory question)
计算中间件 Apache Linkis参数解读
Super wow fast row, you are worth learning!
Install PHP extension spoole
NBA赛事直播超清画质背后:阿里云视频云「窄带高清2.0」技术深度解读
数学建模之层次分析法(含MATLAB代码)