当前位置:网站首页>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 )
边栏推荐
- Talk about your understanding of microservices (PHP interview theory question)
- MySQL之CRUD
- First PR notes
- Leetcode: Shortest Word Distance II
- Reproduce ThinkPHP 2 X Arbitrary Code Execution Vulnerability
- P6183 [USACO10MAR] The Rock Game S
- Easyocr character recognition
- Anti shake and throttling
- Live broadcast preview | how to implement Devops with automatic tools (welfare at the end of the article)
- Reconnaissance des caractères easycr
猜你喜欢

做研究无人咨询、与学生不交心,UNC助理教授两年教职挣扎史

12 MySQL interview questions that you must chew through to enter Alibaba

Coding devsecops helps financial enterprises run out of digital acceleration

Object. defineProperty() - VS - new Proxy()

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

Thymeleaf uses background custom tool classes to process text

可视化任务编排&拖拉拽 | Scaleph 基于 Apache SeaTunnel的数据集成
![1330: [example 8.3] minimum steps](/img/69/9cb13ac4f47979b498fa2254894ed1.gif)
1330: [example 8.3] minimum steps

数据库学习——数据库安全性

Bugku alert
随机推荐
I collect multiple Oracle tables at the same time. After collecting for a while, I will report that Oracle's OGA memory is exceeded. Have you encountered it?
Can gbase 8A view the location of SQL statement history?
Magic methods and usage in PHP (PHP interview theory questions)
华为哈勃化身硬科技IPO收割机
Detailed explanation of QT creator breakpoint debugger
漫画:优秀的程序员具备哪些属性?
30岁汇源,要换新主人了
Ionic Cordova project modification plug-in
CODING DevSecOps 助力金融企业跑出数字加速度
Coding devsecops helps financial enterprises run out of digital acceleration
Misc Basic test method and knowledge points of CTF
Cartoon: what are the attributes of a good programmer?
episodic和batch的定义
Bugku telnet
Thymeleaf uses background custom tool classes to process text
ionic cordova项目修改插件
Creation and optimization of MySQL index
Huawei Hubble incarnation hard technology IPO harvester
[recruitment position] infrastructure software developer
机器学习笔记 - 灰狼优化