C++学习笔记之结构、枚举

来源:互联网 发布:步摇 知乎 编辑:程序博客网 时间:2024/05/18 20:10

一、结构:

格式:
struct <结构名> { <成员列表>};

例子:

 struct student {     int num;     char name[20];     char sex;     float score;};
解释:
  • struct:保留字,表示开始定义结构 student
  • student:结构名,用于说明结构类型的变量
  • student有四个成员: int类型的 num、 char类型的数组name和变量sex以及float类型的score
  • 结构的定义以分号结尾
声明结构变量
student stud1, stud2, *sptr,stu[20];
定义结构时同时声明结构变量
struct student {     int num;     char name[20];     char sex;     float score; } stud1, stud2;
结构的定义可以嵌套
struct date {   int year;   int month;   int day; }; struct people {   int num;   char name[20];   char sex;   date birthday;};struct people wang;
结构变量的初始化
student stud5 ={ 102, "Li Xiaoming", 'M', 92 };
结构变量的赋值
 stud1 = stud2;
存取结构的成员
  • 点操作符 (.):和结构变量名一起使用
    wang.birthday.year = 1986;printf( "%s", stud1.name );
  • 箭头操作符(->) :和结构指针名一起使用
    sptr = &stud1;printf( "%s", sptr->name );
  •  sptr->name等价于 (*sptr ).name
结构数组——结构类型的数组元素
struct student{int num;char name[20];char sex;float score;}class[5];

枚举
enum weekday {Sun,Mon,Tue,Wed,Thu,Fri,Sat}; 
枚举常量:与一般符号常量类似,自动定值起始值为 0 开始,递增值为 1
  • 可以用 = 为枚举常量定值
  • 枚举定义中的标识符必须唯一
  • 枚举变量声明:与一般变量相同
  • 枚举变量只能被赋予相应的枚举常量
枚举举例
enum weekday {Sun=1,Mon,Tue,Wed,Thu,Fri,Sat};enum weekday {Sun=1,Mon,Tue=5,Wed,Thu,Fri=10,Sat};
枚举变量的使用
weekday  day ;day = mon;day = (weekday)2day = 2; //error