学习笔记记录记录
struct SqList{
ElemType data[MAXSIZE];
int length;
};
不是int 不是float 而是ElemType.
#define预处理命令
预处理命令:C源程序中以#开头的
宏定义:#define #undef
文件包含 #include
条件编译 :#if #ifdef #else #elif #endif等
注意这些语句尾是不加分号的,预处理命令千万不要在结尾加分号
宏定义一般分为两种,不带参数的宏定义和带参数的宏定义
不带参数的宏定义:#define 宏名 替换内容 类似 #define MAXSIZE 100这样的
不带参数的宏定义:#define 宏名(参数列表) 替换内容 #define SQUARE(x) ((x)*(x))
SQUARE(x)是宏的名字和参数,可以传入一个值x,((x)*(x))是宏的替换内容,表示将传入的x替换进去,计算它的平方
int a = 5;
int b = SQUARE(a);  // 替换为 ((a)*(a)) → ((5)*(5)) → 25
c语言提供了一个可以将复杂类型名重新命名为简单名称的关键字typedef typedef 已有类型名 新类型名;
typedef struct data{
int year;
int month;
int day;
}DATE; //使用typedef将复杂的结构体类型名struct data重新命名为DATE
struct data{
int year;
int month;
int day;
};
typedef struct data DATE;
这个也是同样的作用
typedef int ElemType; 给 int起一个小名叫做 ElemType
typedef 并不是定义一种新的数据类型,而是为已有数据类型取了一个别名
为了区分已有类型名和新名称,通常将typedef命名的新名称用大写字母表示
