day_12 C语言预处理及数组

C语言预处理

条件编译
简单宏定义
带参数的宏
条件编译

typedef :可以看作 type define,用于给已有的类型重 新定义一个别名。并没有产生新的数据类型。

typedef int JHUN;

define :C语言中的宏定义(宏替换),用来将一个标识 符定义为一个字符串,该标识符是宏名,被定 义的字符串称为替换文本。

define有三种定义格式:
(1)简单宏定义 #define <宏名> <字符串名>
#define PI 3.14

(2)带参数的宏 #define <宏名>(参数)<宏体> 注意这里的宏名和参数不能用空格隔开
#define add(x,y)((x)+(y))
#define add(x,y)(x+y)
#define add(x,y) (x+y)

(3)条件编译 #ifdef<宏名> … #endif

条件编译预处理命令:#ifdef, #ifndef(或#if!def), #else, #endif

文件包含: #include <>

借助条件编译预处理命令可以轻松地解决头文件被重复包含的问题

typedef关键字的作用:类型定义

typedef int JHUN和#define JHUN int等效

.h头文件的内容

编译判断条件
#ifndef JHUN

设定条件标识
#define JHUN

(1)包含标准库、链接库
(2)包含用户库
(3)函数声明
(4)变量的定义(外部变量,全局变量)
(5)宏
(6)数据结构的定义(结构体等)
(7)类型重写
等等。。。。

结束包含
#endif

排序:
冒泡 条件 插入 快速

今日小结

预处理什么的都好理解,就是通过宏定义来简化代码的编写,以及降低可读性来保护 .c 源代码。
之后就是下午自己先弄明白上述几个排序怎么回事。
冒泡,条件,插入都还好,就是快速里有个递归有点头痛。快速的方法也好明白。
就是第一轮先将确定一个参照数通常是啊a[0],就是数组开头的那个数,然后先从后往前找到第一个比参照数小的数,这个位置为j,然后从前往后找到第一个比参照数大的数,这个位置为i,交换位置j和位置i上的数,接着从后往前找,以此类推,直到j的位置和i的位置相同。最后将这个位置的数和参照数交换。第一轮结束。
然后参照数前面的数都是比它小的,后面的数都是比它大的。
将前后分暂时归为不同数组进行找数操作。

你可能感兴趣的:(暑期日志,c语言,宏,typedef)