当前位置: 首页 > news >正文

山东建站石家庄广告制作公司

山东建站,石家庄广告制作公司,主要搜索引擎网站搜索结果比较,建设政务网站报告C之struct和union对比介绍 在C中#xff0c;struct和union都是用来定义自定义数据类型的关键字#xff0c;但它们的作用略有不同。 首先了解一下它们的基本概念#xff1a; struct#xff08;结构体#xff09;#xff1a;struct 是一个用户自定义的数据类型#xff…C之struct和union对比介绍 在C中struct和union都是用来定义自定义数据类型的关键字但它们的作用略有不同。 首先了解一下它们的基本概念 struct结构体struct 是一个用户自定义的数据类型可以包含多个不同类型的成员变量可以包含函数。这些成员变量在结构体中是独立的它们分别占用独立的内存空间。结构体中的成员可以通过指定的访问权限public, private, protected进行访问控制。 union联合体union 也是一个用户自定义的数据类型但不能包含函数。它的成员共享同一块内存空间。这意味着union 中的所有成员变量都位于同一个内存区域且内存空间的大小由最长的成员变量决定。 如果需要定义一个包含多个具有不同数据类型的成员的数据类型可以使用struct关键字。例如一个学生信息的数据类型包含学号、姓名和成绩等成员可以用struct来定义 struct Student { int id; string name; float grade; }; 使用struct定义的类型非常直观也很容易操作不需要过多的安全性考虑。 如果需要定义一个可以共享内存的数据类型可以使用union关键字。union中的不同成员可以在同一时间只有一个是有效的因为它们共用同一块内存。例如定义一个可以同时存储int、float和char类型数据的数据类型可以用union定义 union Data { int i; float f; char str[20]; }; 使用union关键字定义的类型具有较高的危险性因为它的成员共享同一块内存如果使用不当容易出现数据混乱等问题需要特别注意安全性。 在 C 中struct 和 union 的成员默认是公共的public但是可以根据需要设置访问权限例如将某些成员设置为私有private或受保护protected。具体的访问权限设置通过在成员声明时添加访问修饰符来实现。 struct 可以有函数成员union不能包含函数成员。 因此struct和union的使用还是根据具体情况而定需要根据问题的实际需求进行选择。 对于 struct结构体它的成员可以是以下类型 数据成员可以是任何合法的 C 数据类型包括基本数据类型如整型、浮点型、布尔型、自定义数据类型如类、结构体、枚举等。 函数成员成员函数在 struct 内部定义的函数可以用于操作 struct 的数据。函数成员可以访问 struct 的私有成员和保护成员。 静态成员可以是静态数据成员或静态函数成员。静态数据成员是 struct 类型的对象共享的数据静态函数成员是不依赖于具体对象的函数。 struct结构体示例如下 #include iostream using namespace std;struct Point {int x;int y;void print() {cout Point: ( x , y ) endl;}static int count;static void incrementCount() {count;} };int Point::count 0;int main() {Point p1 {3, 4};p1.print(); // 输出: Point: (3, 4)Point::incrementCount();cout Point count: Point::count endl; // 输出: Point count: 1return 0; }对于 union联合可以包含以下类型的成员 数据成员可以是任何合法的 C 数据类型包括基本数据类型如整型、浮点型、布尔型、自定义数据类型如类、结构体、枚举等。注意union 的数据成员共享存储空间只能存储一个成员的值。 嵌套结构体或联合可以在 union 内部定义嵌套的 struct 或 union。 union联合示例如下 #include iostream using namespace std;union Data {int i;float f;char c; };struct Employee {string name;union {int age;float salary;}; };int main() {Data d;d.i 42;cout Data value: d.i endl; // 输出: Data value: 42Employee e;e.name John;e.age 30;cout Employee: e.name , e.age years old endl; // 输出: Employee: John, 30 years olde.salary 5000.0;cout Employee: e.name , salary: e.salary endl; // 输出: Employee: John, salary: 5000return 0; }
http://www.w-s-a.com/news/685662/

相关文章:

  • dw做网站怎么发布网站无后台可以上框架
  • 网络公司如何建网站网站的建设需要多少钱
  • 代刷网站推广快速泉州网页定制
  • 网站优秀网站地址做宣传册的公司
  • 苏州高端网站建设咨询wordpress云图插件
  • 河北省建设厅网站重新安装优秀中文网页设计
  • 如何在腾讯云做网站开源站群cms
  • 公司网站建设的意义网易做网站
  • 网络营销案例分析与实践搜外seo
  • 手机建网站挣钱吗wordpress面包屑
  • 淘客做网站怎么备案网站开发工具的是什么
  • 提供大良网站建设郑州网站建设网站开发
  • 邢台做wap网站价格wordpress评论滑动
  • 绝味鸭脖网站建设规划书江苏建设人才网 官网
  • 网站源码授权破解centos wordpress 整站
  • 建设一个私人视频网站wordpress js
  • 手机企业网站制作流程3d建模自学
  • 网站优化方案和实施wordpress的归档
  • 建设事业单位网站多少钱集艾设计公司官网
  • 网站建设与管理方案书图片的制作方法
  • 中文建网站美发网站模板带手机版
  • 免费聊天不充值软件windows优化大师下载安装
  • 网站优化的关键词自己怎么做外贸网站空间
  • 现在建设的网站有什么劣势温州互联网公司
  • 重庆自助企业建站模板淘宝关键词top排行榜
  • 平邑网站制作买高端品牌网站
  • 深圳建网站三千网站安全代维
  • 西宁市精神文明建设网站装饰设计甲级资质
  • 做教育行业营销类型的网站徐州做网站多少钱
  • 临沂品牌网站制作企业网站建设搜集资料