日志16

结构体 一、结构体(struct) 1.定义:结构体是一种用户自定义的数据类型,用于将不同类型的数据组合在一起。 例如,定义一个表示学生信息的结构体: struct Student { std::string name; int age; float score; }; 2.使用:可以通过以下方式创建结构体变量并访问其成员。 Student stu1; stu1.name = "Alice"; stu1.age = 20; stu1.score = 85.5f; (1)结构体数组:可以定义结构体数组来存储多个结构体实例。例如,Student classList[3];,可以通过循环来初始化和访问数组中的结构体元素。 (2)结构体指针:可以使用结构体指针来操作结构体。例如,Student* pStu = &stu1;,通过指针访问成员可以使用->运算符,如pStu->age = 21;,这等价于(*pStu).age = 21;。 二、联合体(union) 1. 定义:联合体是一种特殊的自定义数据类型,它的所有成员共享同一块内存空间。例如: union Data { int i; float f; char str[20]; }; 2.使用:当定义一个联合体变量时,在某一时刻,只能存储其中一个成员的值。例如: Data data; data.i = 10; cout << data.i << endl; data.f = 3.14f; cout << data.f << endl; 3.内存占用:联合体的大小取决于其最大成员的大小。在上面的例子中,Data联合体的大小至少是20字节(因为str成员大小为20字节),这样可以保证能存储任何一个成员的值。 三、枚举(enum) 1.定义:枚举类型用于定义一组命名的常量。 例如,定义一个表示星期几的枚举: enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }; 2.使用:可以像使用其他数据类型一样使用枚举。例如,Weekday today = MONDAY;,枚举常量默认从0开始依次递增赋值,不过也可以手动指定枚举常量的值,如enum Color { RED = 1, GREEN, BLUE };,这里GREEN的值为2,BLUE的值为3。 3.枚举类型转换:枚举类型可以与整数类型相互转换,但这种转换可能会丢失枚举的语义信息,需要谨慎使用。 例如,int dayValue = (int)MONDAY;将枚举值转换为整数,Weekday anotherDay = (Weekday)2;将整数转换为枚举值。

全部评论

相关推荐

02-13 15:16
三江学院 运营
据说名字越长别人越关注你的昵称我觉得我要被关注了:完全看不出你到底干了什么 全是车轱辘话
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务