1.结构体
结构体是⼀种集合,他里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员。简单的结构体示例如下:
struct stu 1{
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在学习⼩组
float score; //成绩
那么,当我们想读取结构体成员时,就要用到.操作符 例如:printf("%s的学号是%d,年龄是%d,在%c组,今年的成绩是%.1f!\n", stu1.name, stu1.num, stu1.age, stu1.group, stu1.score)这样,结构体中的内容我们便可以打印出来了。
2.宏
宏和函数有相似的地方,但宏是不需要参数的。例如:define MAX(a,b) a > b ? a : b
int n1 = MAX(3,4); 我们可以见到,MAX内部的a,b并没有int 等字符类型定义。我们也可以通过宏来打印想要的数据。宏定义和函数的最大差别就是:宏定义是原地展开,因此没有调用开销;而函数是跳转执行再返回,因此函数有比较大的调用开销。
3.指针
指针 我们可以理解为存放内存的地址。如果在程序中声明一个变量并使用地址作为该变量的值,那么这个变量就是指针变量。定义指针变量的一般形式为:
*类型名 指针变量名;
类型名指定指针变量所指向变量的类型,必须是有效的数据类型,如:int,float,char等。指针变量名是指针变量的名称,必须是一个合法的标识符。当我们获取到了指针时,可以通过解引用操作来得到指针指向的数据 用(*p)来进行解引用操作。