C++ 结构体 共用体 枚举类型 自定义数据类型 宏定义解析

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: C++ 结构体 共用体 枚举类型 自定义数据类型 宏定义解析

1:首先我们明确结构体的作用是什么,


它主要的作用是将不同类型的变量整合到一起,这样可以减少代码的离散性,让代码阅读更符合逻辑。而数组跟他的区别是数组是相同类型元素的集合


定义如下

struct 名字{
成员类型 成员名;
...
};
实例如下 
struct test{
int index;
char name[30];
short age;
};

结构体变量声明

在外面声明
test p;
*a;

结构体成员及初始化 有两种方法引用结构体成员


1:结构体变量名.成员名

p.index=0;

2:结构体指针变量->成员名


a->index

结构体变量大小是各成员大小之和


2:重命名数据类型


即给一个数据类型定义一个别名  


把int 初始化一个intetger的别名 实际上作用跟int一样0


typedef int integer;
integer a;

3:共用体


和结构体的作用较为类似 其关键字为union 区别在于共用体变量所占内存长度是最长的成员的长度 且一个共用体变量不能同时存放多个成员的值


4:枚举类型


枚举类型将不同标识符名称放到一起 用枚举类型声明的变量 其变量值只能用枚举里面那些值

enum weekday{sunday,monday,tuesday,sarurday};


5:宏定义


宏定义可以替换复杂的数据 一般放在开头 语法如下


注意宏定义不为C语言 后面不用加分号

#define pi 3.1415



相关文章
|
1月前
|
Java API C++
Java JNI开发时常用数据类型与C++中数据类型转换
Java JNI开发时常用数据类型与C++中数据类型转换
77 0
|
22天前
|
算法 C++
【C++高阶】高效搜索的秘密:深入解析搜索二叉树
【C++高阶】高效搜索的秘密:深入解析搜索二叉树
24 2
|
1月前
|
安全 数据库连接 C++
C++一分钟之-C++中的常量与宏定义
【6月更文挑战第18天】**C++编程中,常量(`const`和`constexpr`)确保值不变,用于配置、计算和逻辑控制。宏定义是预处理阶段的文本替换,适用于条件编译和简化代码。注意`const`的正确使用,避免过度的`const_cast`。宏可能导致命名冲突、副作用和类型安全问题,应谨慎使用。优选类型安全的常量定义,以提升代码质量和可维护性。**
31 5
|
1月前
|
存储 数据管理 程序员
C++一分钟之-结构体与联合体(Union)
【6月更文挑战第20天】在C++中,结构体(struct)用于组合多种数据类型形成复合类型,成员变量占用独立内存,适合存储不同类型且同时有效的数据。联合体(union)则让所有成员共享同一内存,适合节省空间和进行低级别类型转换,但需小心数据覆盖。通过`struct`和`union`,程序员能构建更灵活的代码,但也需留意内存对齐和数据管理等问题。
31 2
|
1月前
|
存储 C++ 容器
C++一分钟之-变量与数据类型入门
【6月更文挑战第18天】**C++编程基础:变量与数据类型概览** 了解变量(存储数据的容器)和数据类型是编程入门的关键。声明变量如`int age = 25;`,注意初始化和类型匹配。基本数据类型包括整型(int等)、浮点型(float、double)、字符型(char)和布尔型(bool)。理解类型范围和精度,使用字面量后缀增强可读性。深入学习数组、指针、结构体和类,以及动态内存管理,避免数组越界和内存泄漏。不断实践以巩固理论知识。
27 1
|
1月前
|
数据安全/隐私保护 C++
C++ 中的类是一种用户定义的数据类型,用于表示具有相似特征和行为的对象的模板。
C++ 中的类是一种用户定义的数据类型,用于表示具有相似特征和行为的对象的模板。
|
1月前
|
存储 编译器 程序员
【C++高阶】C++继承学习手册:全面解析继承的各个方面
【C++高阶】C++继承学习手册:全面解析继承的各个方面
27 1
|
1月前
|
运维 网络协议 JavaScript
Serverless 应用引擎产品使用合集之绑定自定义域名是否要确定解析设置
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
25天前
|
存储 程序员 编译器
|
25天前
|
存储 编译器 C++

推荐镜像

更多