Detailed explanation of being processing

1.predefined symbol(we can view it as some can deirectly be used constants)

for example,

2.#define define constants

Now we supplement some knowledges.

(1)The storage device on the computer

1.memory 2.hard disk 3.register(on the cpu,reading speed very fast)

A code --> register int num;//meaning -- advice put the value of num in the register.

(we often use it when this variable need to be used repeatedly but whether use it depend on the complier judgement)

(2)for(;;) if the judgement write nothing,representing constantly true,which is dead circle.

(3)#define .... At last better not to add ;

A #define using example.

3.#define define macro

format -- #define name(parameter) stuff // do not need";" and the name and "(" need fit closely.

function-- parameter do not calculate and direct put in stuff.

for example,

#undef can cancel a #define

or

so we should remind add () when we use #define

4.side effect

b = a++

a++ is side effect.

when a macro parameter have side effect,it also will make some surprise situations.

5.Some positive and negative between marco and function

Characteristic

The string content will not be search.

Positive

(1)marco performance more better amd running more fast than function because marco just replace the code but function need stack creating to run.

(2) marco perameter need not type but function need.

(3)marco can directly deliver type.

Negative

(1)marco just direct replace the code,so it will add coding length.

(2)marco can not debug because the switch it is running in preprocessing progress but debug just test the program code.

(3)The operator precedence also have question.

(4)marco can not recurse.Can #define itself.

6.

7.#

make parameter in the string that can not be change be the object signal and make it stringify.

8.##

Creating a function mold

A using situation example

9.marco name always all capitalize while function name always not all capitalize

10.conditional comliation directive

1.ifdef

2.#if

do not use variable because this coding all processing in preprocessing but in this time just constant having and variable is not created.

3.branch

4.#if defined(M) if M is defined dy #define ,it will be true which is at the same of #ifdef

5.#if !defined(M) if M is not defined by #define ,it will be true which is at the same of #ifndef

5.head document including

#include <...> standard head document

#include "..." customize head document

#include "..." first will find the path of the source file's directory(文件所在目录的路径)

if not find ,it will find the standard library haed document.

#include <...> just will find the standard library haed document.

6.File nesting

A head document possbility will be used many times.

So we should have some idea to reduce repeat use.

1.#ifndef TEST_H

//first time will do in it

#define TEST_H//put this twe codes in head document head

//when define it,the last time can not put in it

....

#endif // put this code in the document last

2.#program once

using it can directly make this document just using once.

At last I tell something I found.

A variable just a digital.Like a int * p.The p essence is a digital.In pointer, it will be viewed as a address.

In pointer,it save just a address but by it type,it will control the address memory by the type manner.

for example,

//指针是带有有色眼镜的,它看内存的方式只和她的类型有关。

Like it ,using 0 to be the struct start address to calculate it offset.we can not visit the value but we can using pointer to find the struct member address.

相关推荐
沐晓时光3 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
Zwawa6 小时前
C语言函数指针与宏实战:从回调、表驱动菜单到X-Macro,讲透嵌入式代码解耦
c语言·单片机·嵌入式
David猪大卫9 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger9 小时前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
安妮细水长流13 小时前
ad7124
c语言·单片机
Zwawa1 天前
用两个按键做一个OLED菜单:先把选择和执行分开
c语言·单片机·嵌入式
心仪久了会沦陷1 天前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
Severus_black2 天前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list
希和20272 天前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
Zwawa2 天前
屏幕不止一种:OLED、LCD1602字符屏、TFT/IPS图形屏和串口屏怎么用,这与TTY和PTY又有什么关系
c语言·单片机·嵌入式