a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 72|回复: 1

[程序员] 2012年软件水平考试程序员之程序设计知识要点(25)

[复制链接]
发表于 2012-8-2 08:51:15 | 显示全部楼层 |阅读模式
7.2 共用型和共用型变量1.共用型 $ n3 q! E' P6 H& E) a
  在某些非凡应用中,要求某数据对象在轨范执行的分歧时代能存储分歧类型的值。C说话的共用型能知足这个要求。共用型的成员从统一地址起头存储。但任一时刻只存储其一一个成员,由比来放入的内容抉择该区域事实是哪一个成员的值。分配给共用型的存储区域巨细,要求至少能存储其中最大一种成员。界说共用型的一般形式为
0 `" T3 r" E- N  union 共用型名 {& v( S( A7 s: o' C
  数据类型1 成员1名;
! }/ ]( f6 l. {- m& [  数据类型2 成员2名;
5 a. u3 q9 \* l  ……# L" q% t4 O& h8 f( Z( A/ N
  数据类型n 成员n名;
6 O0 ^  `, K, v8 X  };
# W: L6 b# Y+ d" `* Y6 ~  例如,下面界说的共用型(union udata) 能存储整型,或字符型,或浮点型的数据:
0 o9 b; I3 _' Y( M  union udata {
' C0 C7 @0 Q5 v1 w- \  int ival;
7 {& ]3 J: e4 D/ u; M  char chval;
5 x- Z# \' U" x7 ?2 |, y  float fval;
! S+ n. c2 g6 q  };
. \) X/ g2 t$ u2.共用型变目的界说 # T" M4 l- b8 C" X4 I5 g! k
  与结构变量的界说体例一样,共用型变量的界说体例有以下几种:* w2 w, d2 Y+ B3 ^" l3 O+ {1 ]+ H
  (1) 先界说共用型,然后界说共用型变量、共用型数组、共铀ネ龈针等。
7 @4 G: Y' x4 f$ r& H! I  (2) 界说共用型同时界说共用型变量、共用型数组、共铀ネ龈针等。
: k4 h7 n( R; f# F; A" _% ?3 ]' |- I
0 c8 f6 b! Y! T  (3) 界说无名共用型同时界说共用型变量、共用型数组、共铀ネ龈针等。
回复

使用道具 举报

 楼主| 发表于 2012-8-2 08:51:16 | 显示全部楼层

2012年软件水平考试程序员之程序设计知识要点(25)

</p>3.共用型变目初始化 - L' P* |/ l/ M8 }
  共用型变量界似瘫,也可初始化,但只能对共铀ネ鲂的第一个成员初始化。3 w) T3 C7 g& ^& a* A
4.引用共用型变目的成员 * s( r/ O8 c' m) z9 g" K
  引用共用型变量成员的体例与引用结构变量成员的体例不异。共用型也可呈此刻结构和数组中,共用型也可包含有结构和数组。引用结构中的共用型或共铀ネ鲂的结构的书写形式与引用嵌套结组成员的书写形式一样。例如,以下代码
9 \0 d+ H" b: `# g1 T8 f) i  f* J  Struct {+ d  _$ ~6 B2 x5 J
  char name[30]; /* 标识符 */
) C7 ]- F# v1 ?; I  int uflag; /* 存于共用型成员中的值的类型 */( M/ `# s, b, l3 U
  union /* 存储变量值 */6 d6 m$ t% ?. c7 f. I8 J, I4 `( Z
  { int ival; /* 当变量为整型时 */
6 I+ j( T0 n, B+ K4 g, w0 H* W  char chval /* 当变量为字符型时 */
+ O1 J# W% R! Y" t/ ^& f  float fval; /*当变量为浮点型时 */
8 ^; |3 B) h9 M4 |- L: f2 t  } uval;/ F4 K/ a/ p  y8 T" M* \3 ~
  } symTbl[1000]; /* 变量表 */& O+ g' }( x  h5 q9 d& X9 J
  界说了一个结构数组symTbl。用symTbl[50].uval.fval引用结构数组symTbl中的第50个结构的共用型成员uval的fval(视其中的共用型为浮点型数据)。% l2 @$ i% o' L# ~
  函数的形式参数不能是共用型类型,函数的结不美观也不能是共用型类型。但指向共用型的指针可以作为函数形式参数,函数也可以返回指向共用型的指针。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-18 15:00 , Processed in 0.578634 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表