C++ 自定义数据类型:结构体,共用体,枚举

本文详细介绍了 C++ 中的自定义数据类型,包括结构体(struct)、共用体(union)、枚举类型(enum)及使用 typedef 声明类型的方法。此外还讲解了如何利用 new 和 delete 进行动态内存的分配与释放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++自定义数据类型

1. 结构体 struct

  • 结构体的声明: struct 结构体名 {成员列表};
  • 结构体的初始化:Student student1 = {...}
  • 结构体变量的引用:student1.birthday.year = ..;
  • 结构体变量的调用:(1) 结构体变量.成员名;(2) (*p).成员名;(3) p->成员名

2. 共用体 union

  • 共用体变量所占的内存长度等于最长的成员的长度

 3. 枚举类型 enum

  • 枚举类型的声明: enum 枚举类型名 {枚举常量列表}
  • 枚举元素作为常量,它们是有值的,C++编译按照定义时的顺序对他们赋值为0,1,2,3...,如果未认为制定,则第一个枚举元素的值认作0。
  • 一个整数不能直接赋给一个枚举变量,应该进行强制类型转换才能赋值:workday = weekend(2) 相当于 workday = Tuesday.

4. 用typedef声明类型(一般类型名用大写)

  • 使用typedef声明一个新的类型名来代替已有的类型名:
  • typedef int INTEGER
  • typedef struct {} DATE;
  • typedef int NUM[100]; NUM n;    // 声明NUM为整型数组,包含100个元素
  • typedef char* STRING; STRING p;    
  • typedef int (*POINTER)(); POINTER p1,p2;    // 声明POINTER为指向函数的指针类型,返回整型值  
 动态分配和撤销内存的运算符new和delete:
  • 单个元素:new 类型, delete 指针变量
  • 数组操作:new 类型 [初值], delete [] 指针变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值