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

制作网站的方法/衡阳seo快速排名

制作网站的方法,衡阳seo快速排名,多好商城官网客服,自己做一网站 多做宣传.http://dev.21tx.com/2005/03/25/12365.html所谓共用体类型是指将不同的数据项组织成一个整体,它们在内存中占用同一段存储单元。其定义形式为:union 共用体名{成员表列};7.5.1 共用体的定义union data{int a ;float b ;d o u b l e c ;c h a…

http://dev.21tx.com/2005/03/25/12365.html

所谓共用体类型是指将不同的数据项组织成一个整体,它们在内存中占用同一段存储单

元。其定义形式为:

union 共用体名

{成员表列};

7.5.1 共用体的定义

union data

{

int a ;

float b ;

d o u b l e c ;

c h a r d ;

} obj;

该形式定义了一个共用体数据类型union data ,定义了共用体数据类型变量o b j。共用体

数据类型与结构体在形式上非常相似,但其表示的含义及存储是完全不同的。先让我们看一

个小例子。

[例7 - 8 ]

union data /*共用体* /

{

int a;

float b;

double c;

char d;

} m m ;

struct stud /*结构体* /

{

int a;

float b;

double c;

char d;

} ;

m a i n ( )

{

struct stud student

printf("%d,%d",sizeof(struct stud),sizeof(union data));

}

程序的输出说明结构体类型所占的内存空间为其各成员所占存储空间之和。而形同结构体的共用体类型实际占用存储空间为其最长的成员所占的存储空间。详细说明如图7 - 6所示。

对共用体的成员的引用与结构体成员的引用相同。但由于共用体各成员共用同一段内存

空间,使用时,根据需要使用其中的某一个成员。从图中特别说明了共用体的特点,方便程

序设计人员在同一内存区对不同数据类型的交替使用,增加灵活性,节省内存。

7.5.2 共用体变量的引用

可以引用共用体变量的成员,其用法与结构体完全相同。若定义共用体类型为:

union data /*共用体* /

{

int a;

float b;

double c;

char d;

} m m ;

其成员引用为:m m . a , m m . b , m m . c , m m . d

但是要注意的是,不能同时引用四个成员,在某一时刻,只能使用其中之一的成员。

[例7-9] 对共用体变量的使用。

m a i n ( )

{

union data

{

int a;

float b;

double c;

char d;

} m m ;

m m . a = 6 ;

printf("%d\n",mm.a);

m m . c = 6 7 . 2 ;

p r i n t f ( " % 5 . 1 l f \ n " , m m . c ) ;

m m . d = ' W ' ;

m m . b = 3 4 . 2 ;

p r i n t f ( " % 5 . 1 f , % c \ n " , m m . b , m m . d ) ;

}

程序最后一行的输出是我们无法预料的。其原因是连续做m m . d = ' W ';m m . b = 3 4 . 2;两个

连续的赋值语句最终使共用体变量的成员m m . b所占四字节被写入34 .2,而写入的字符被覆盖

了,输出的字符变成了符号“ =”。事实上,字符的输出是无法得知的,由写入内存的数据决

定。

例子虽然很简单,但却说明了共用体变量的正确用法。

[例7-10] 通过共用体成员显示其在内存的存储情况。

定义一个名为t i m e的结构体,再定义共用体d i g:

struct time

{

int year; / *年* /

int month;/ *月* /

int day; / *日* /

} ;

union dig

{

struct time data; /*嵌套的结构体类型* /

char byte[6];

} ;

假定共用体的成员在内存的存储是从地址1 0 0 0单元开始存放,整个共用体类型需占存储空间6个字节,即共用体d i g的成员d a t a与b y t e共用这6个字节的存储空间,存储空间分配示意如图7 - 7所示。

由于共用体成员d a t a包含三个整型的结构体成员,各占2个字节。由图7 - 7所示可见,

d a t a . y e a r是由2个字节组成,用b y t e字符数组表示为b y t e [ 0 ]和byte[1] 。b y t e [ 1 ]是高字节,

b y t e [ 0 ]是低字节。下面用程序实现共用体在内存中的存储。

struct time

{

int year; /*年* /

int month; / *月* /

int day; / *日* /

} ;

union dig

{

struct time data; /*嵌套的结构体类型* /

char byte[6];

} ;

m a i n ( )

{

union dig unit;

int i;

printf("enter year:\n");

s c a n f ( " % d " , & u n i t . d a t a . y e a r ) ; / *输入年* /

printf("enter month:\n");

s c a n f ( " % d " , & u n i t . d a t a . m o n t h ) ; / * 输入月* /

printf("enter day:\n");

s c a n f ( " % d " , & u n i t . d a t a . d a y ) ; / *输入日* /

p r i n t f ( " y e a r = % d month=%d day=%d\n", unit.data.year,unit. data. month, unit.

d a t a . d a y ) ; / *打印输出* /

f o r ( i = 0 ; i < 6 ; i + + )

p r i n t f ( " % d , " , u n i t . b y t e [ i ] ) ; / *按字节以十进制输出* /

p r i n t f ( " \ n " ) ;

}

从程序的输出结果来看, 1 9 7 6占两个字节,由第0、1字节构成,即7×2 5 6 + 1 8 4 = 1 9 7 6。4 同样占两个字节,由第2、3字节构成, 0×2 5 6 + 4 = 4,2 3由第4、5字节构成, 2 3 = 0×2 5 6 + 2 3

展开阅读全文

http://www.lbrq.cn/news/1879633.html

相关文章:

  • 怎么搭建自己公司网站/zac博客seo
  • 文本文档做网站怎么加图片/社群营销的具体方法
  • 网站icon怎么做的/最近一周新闻大事摘抄
  • 深圳南山住房和建设局网站官网/网络营销课程有哪些
  • 网站开发包括几部分/百度免费推广怎么操作
  • 北京有哪些网站建设公司/深圳google推广
  • 计算机前端和后端/seo技术介绍
  • 即时设计网站/石家庄关键词优化报价
  • 网站建设服务哪家好/济南seo排名优化推广
  • 商务咨询网站源码/黑五类广告推广
  • ps怎么排版规划设计网站/鹤壁seo推广
  • wordpress文章 代码块/google 优化推广
  • 邢台市属于哪个省/杭州网站推广优化公司
  • 济南网站建设公司大全/泰安百度推广电话
  • 扶风网站建设/收录网站排名
  • 石家庄做网站公司哪家好/成都seo优化排名推广
  • 旅游网站有哪些/百度推广服务费一年多少钱
  • 丰台深圳网站建设公司/广州专业seo公司
  • 沂水县住房和建设局网站/网络整合营销4i原则
  • 电话销售怎么做 网站/一键生成app制作器
  • 专门做图标的网站/营销策划方案模板范文
  • 二级域名做网站有哪些缺点/如何提高网站排名
  • 深圳工业产品设计公司/推广排名seo
  • 企业做网站分哪几种/电影站的seo
  • 有一个网站 人物模型可以做各种动作/佛山seo教程
  • 物流公司做网站注重什么问题/新手20种引流推广方法
  • 在线做热图的网站/谷歌浏览器下载app
  • 网站框架怎么做的/长沙弧度seo
  • 同时优化几个网站/seo手机端排名软件
  • 网站公司架构/自助建站官网
  • AWS IAM 最佳安全实践通用指南
  • 基于STM32与中航ZH-E3L字符卡通信在LED屏显示数据
  • Axios 完整功能介绍和完整示例演示
  • JVM监控及诊断工具-命令行篇
  • HarmonyOS组件/模板集成创新活动-元服务小云体重管理引入案例(步骤条UI组件)
  • C++使用Thread实现子线程延时重发