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

jsp网站开发 心得网站栏目模块

jsp网站开发 心得,网站栏目模块,电商平台的优势有哪些,深圳市网站建设公司排名一、共用体的定义 共用体的定义和结构体类似,使用 union 关键字,其基本语法如下: union 共用体名 { 数据类型 成员1; 数据类型 成员2; // 可以有更多成员 }; 以下是一个简单的共用体定义示例: union Data {int i;float f;char …

一、共用体的定义

        共用体的定义和结构体类似,使用 `union` 关键字,其基本语法如下:

union 共用体名 {

    数据类型 成员1;

    数据类型 成员2;

    // 可以有更多成员

};

        以下是一个简单的共用体定义示例:

union Data {int i;float f;char str[20];
};

        在这个例子中,定义了一个名为 `Data` 的共用体,它包含三个成员:一个整数 `i`、一个浮点数 `f` 和一个字符数组 `str`

二、共用体变量的定义和初始化

  2.1、定义共用体变量

        和结构体一样,共用体变量的定义有两种常见方式。

        一、在定义共用体类型时同时定义变量:

union Data {int i;float f;char str[20];
} data1, data2;

        二、先定义共用体类型,再定义变量:

union Data {int i;float f;char str[20];
};
union Data data1;

  2.2、初始化共用体变量

        共用体变量只能初始化一个成员。例如:

union Data data = {10};  // 初始化整数成员 i这里只对 `i` 成员进行了初始化,因为共用体的所有成员共享同一块内存空间,同一时间只能存储一个成员的值。

三、共用体成员的访问

        使用成员访问运算符 `.` 来访问共用体变量的成员,示例如下:

#include <stdio.h>union Data {int i;float f;char str[20];
};int main() {union Data data;data.i = 10;printf("data.i 的值: %d\n", data.i);data.f = 220.5;printf("data.f 的值: %.2f\n", data.f);strcpy(data.str, "C Programming");printf("data.str 的值: %s\n", data.str);return 0;
}

        在上述代码中,每次给不同的成员赋值时,之前存储的值就会被覆盖,因为它们共享同一块内存。

四、共用体的内存占用

        共用体的内存大小取决于其最大成员的大小。例如上述的 `Data` 共用体,`str` 数组占用的内存最大(20 字节),所以 `Data` 共用体的大小就是 20 字节。可以使用 `sizeof` 运算符来验证:

#include <stdio.h>union Data {int i;float f;char str[20];
};int main() {printf("共用体 Data 的大小: %zu 字节\n", sizeof(union Data));return 0;
}

五、共用体的用途

  5.1、节省内存 

        当程序中需要处理不同类型的数据,但同一时间只使用其中一种类型的数据时,使用共用体可以节省内存。例如,在一个数据结构中,某些字段在不同情况下可能是不同类型的数据,使用共用体可以避免为每种类型都分配独立的内存空间。

  5.2、数据类型转换

        共用体可以用于数据类型的转换。例如,通过共用体可以直接访问一个浮点数的二进制表示:

#include <stdio.h>union FloatData {float f;unsigned int i;
};int main() {union FloatData fd;fd.f = 3.14;printf("浮点数 3.14 的二进制表示(十六进制): %x\n", fd.i);return 0;
}

六、注意事项

        由于共用体的所有成员共享同一块内存,修改一个成员的值会覆盖其他成员的值,所以在使用共用体时要确保同一时间只使用一个成员。

        共用体的成员访问和赋值需要谨慎,避免因为数据类型不匹配或未正确初始化而导致错误。

http://www.dtcms.com/wzjs/578821.html

相关文章:

  • 域名怎么和网站绑定湖南建设网塔吊证查询
  • 外贸在线网站建站租车行网站模版
  • 鞍山做网站排名网店网站技术方案
  • 推广网站设计推广方案网络公司什么意思
  • 个人购物网站备案制作wordpress模板教程
  • 婚庆网站怎么设计模板广州抖音seo价格
  • 著名设计师网站有经验的郑州网站建设
  • wordpress全站伪静态南沙网站开发
  • 沧州兼职网站建设WordPress如何去掉文章时间
  • 公主岭网站开发北京终端区优化
  • 长沙网站排名优化搜索引擎优化的五个方面
  • 网站源码绑定域名网站建设的五类成员
  • 太原网站建设 网站制作深圳网站制作建设服务公司
  • 收费下载网站cms网页制作软件是应用软件吗
  • 网站一键提交做国外网站选择vps
  • 一学一做腾讯视频网站百度收录批量查询工具
  • 做营销型网站要多少钱展厅设计ppt优秀案例分析
  • 网站做信息流上海大公司有哪些
  • 自学网站制作教程WordPress中设置域名的数据库在哪
  • 网站流量做那些好wordpress章节分页
  • 长沙精品网站建设公司什么是营销型网站呢
  • 免费在线观看电视剧的网站舟山城乡建设部网站首页
  • 怎样用虚拟空间做网站wordpress收集
  • 湖北工程建设总承包有限公司网站现在注册公司好注册吗
  • 绵阳公司商务网站制作恩施网站设计
  • 2018年网站开发语言四川工程造价信息网官网
  • 黄山做网站公司南宁网页设计培训学校
  • 书写网站建设策划书交通建设网站
  • 电商网站的建设与安全建设企业展示网站
  • 如何设置企业网站模板网点地址信息错误