六、其他一些要点笔记
1、指向结构体的指针,利用指针访问结构体成员,(*p).age等价于p->age
2、枚举类型,通常用来声明一组常量,枚举会被当做整数类型处理。
- enum season{spring,summer,autumn,winter};
- enum season se=summer;
- 遍历枚举的方法
- for(se=spring;se<winter;se++)printf("%d\n",se);
复制代码 3、typedef给数据类型起别名重命名int类型
typedef int Integer; 重命名指针类型
typedef char* String; //#define Integer int 重命名结构体
typedef struct Point{float x;float y} Mypoint; Mypoint pt={1.1,2.2}; printf("%.2f,%.2f\n",pt.x,pt.y); 重命名结构体指针类型
typedef struct Point{float x;float y}* Mypoint; struct Point pt={1.1,2.2}; Mypoint pt2 = &pt; printf("%.2f,%.2f\n",pt2->x,(*pt2).y); 通常会先重命名结构体类型,然后再重命名结构体指针类型
typedef struct {float x;float y}Point; typedef Point* MyPoint; Point pt={1.1,2.2}; MyPoint pt2 = &pt; printf("%.2f,%.2f\n",pt2->x,(*pt2).y); 重命名枚举类型
typedef enum {spring,summer,autumn,winter} Season; Season ss = spring; 重命名指向函数的指针
typedef int (*mysum)(int,int); mysum pp = sumo; printf("%d\n",(*pp)(5,6)); 4、typedef和宏定义的区别,宏定义仅仅是替换
|