当前位置: 首页 > 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/531641/

相关文章:

  • wordpress+仿站步骤超详细wordpress常用函数
  • 浙江手机版建站系统哪个好怎样黑进别人的网站
  • 企业网站搜索引擎推广方法装修网络公司
  • 网站运营优化建议wordpress 添加媒体
  • 用asp.net做网站计数器施工企业会计的内涵
  • 网站被黑咋样的网站建设 设计业务范围
  • 网站开发学哪种语言网站编辑器失效
  • WordPress插件提示信息江阴网站优化
  • 网站开发用的软件如何做网站内容管理
  • 扬州网站建设公司网站推广是什么岗位
  • 双线网站管理咨询公司是做什么
  • asia域名的网站贵州光利达建设工程有限公司局网站
  • 梅州南站济南做网络安全的公司
  • 网站源代码 phpseo营销推广费用
  • 南京专业制作网站深圳整装装修公司排名
  • 网站制作在哪里比较好网页设计的要点有哪些
  • 自己做网站原始代码高端品牌服装
  • 九度企业网站推广软件龙泉市建设局网站
  • 做个企业网网站怎么做专业3合1网站建设公司
  • 龙岩网站建设teams熊掌号公司网站的实例
  • 电商模板网站免费省级精品课程网站建设
  • 网站建设的规划书桂林生活最新网
  • 广东省建设工程执业中心网站wordpress的分类目录和标签
  • 甘肃省两学一做专题网站广东外发加工网
  • 用python导入wordpress公司网络优化方案
  • 效益成本原则网站建设wordpress 上传rar
  • 大连网站制作 连城传媒渠道网络公司官网
  • 电影天堂网站用什么程序做的wordpress 添加链接地址
  • 购买空间网站哪个好重庆英文网站建设
  • 建设网站需要注意什么问题设计网页通常使用什么语言