找回密码
 注册
关于网站域名变更的通知
查看: 375|回复: 2
打印 上一主题 下一主题

结构说明

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-7-13 15:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
结构说明有原型法和类型别名法2种定义方法。
4 a) C9 h3 X" Y8 i1)原型法; C5 F4 ?' T8 }2 ?. `/ A  a' r
(1)声明结构类型的同时定义变量名
3 y$ u. i; E8 g格式如下:5 z1 R1 A9 y9 o& H9 T) ^+ u( y
[存储类说明符]  struct  [结构原型名]- u5 R' i- B8 R. k8 ]: ]
                     {类型说明标识符[,标识符...];
9 x& n0 W3 n7 r( d% \' \6 l& n: E, w  X3 t; f1 Q
类型说明标识符[,标识符...];* @5 O* u# I5 v1 I
                                          .
3 o; y1 ~( b7 x, Y+ S0 G                                          .2 Z, G0 {4 |, L  p: ?" y3 I
                                          .. A& e0 |4 D# R  N
                     }标识符[={初值表}[,标识符[={初值表}]...]];' R" X- W% t: v; F, w# y
其中:存储类说明符有static、extern;结构原型名有结构名、*结构指针名。- d" k( d8 S! m: \0 n0 K7 S' m# {
(2)先声明结构类型再定义变量名& ~  C# v: X1 C" u
格式如下:
+ d- O- i$ q6 J( [/ q  _struct 结构原型名
+ N: u5 _+ n* \       {类型说明标识符[,标识符...];
$ C4 w! f2 P& v8 p              ...7 C" X3 A. O9 B. Q; {' G
      2 W+ w2 I* E6 O* ~4 m( P5 b
       }
. D5 f+ O. J$ O7 Y' _- i       [存储类说明符]    struct 结构原型名
6 n. s- v3 Q2 E; c标识符[={初值表}[,标识符[={初值表}]...];% C) `, D# i: k5 z2 ]
其中:存储类说明符有static、extern;结构原型有结构名、*结构指针名。
' Y$ f$ m: U8 g$ a$ z! B5 d类型别名法
3 V' Y7 U; H# Z3 O先为结构原型名起别名,再用别名做定义说明。其格式如下:# h# x6 x5 |$ O4 w* Y2 m! v5 e
typedef    struct[结构原型名]
4 S! H+ G6 J( d( j9 O                            {类型说明符 标识符[,标识符...];
9 d' T6 B3 O  e: |5 W$ w
9 [! ?2 S; F8 D' X3 F类型说明符 标识符[,标识符...];
6 L+ [# u% L6 K1 U6 ^! e9 W                             ...3 _" r  {' k( ^' {9 G' f8 z$ w0 T
                            }结构别名' j% |- e& d) G3 a
[存储类说明符]  结构别名 标识符[={初值表}[,标识符[={初值表}]…]];
- i9 D% I) ]3 @; k) @4 p其中:存储类说明符有static、extern;结构原型名有结构体、*结构指针名。结构别名习惯上用大写字符。[结构原型名]可用可不用,习惯上不用。因为一般来说,别名更具特色。* o4 }* ?) v* ]  E0 H* V8 V: e9 m9 D
说明:
! D) i% S+ l4 W结构由各种数据类型的成员组成。成员之间没有次序关系,访问成员不按次序,而用结构成员名。/ V8 j5 |) I+ @3 T4 |5 R) g
成员可以是各种简单变量类型个符合变量类型,也可以是数组;数组的元素也可以是结构,即结构和数组可以互为嵌套。
2 M7 T9 k2 e0 ^( e只有在定义性说明时,才可以整体性地位结构赋初值。在程序中,不能用语句整体性地址给结构赋值,但可以对程序员个别第进行赋值和去存操作。# @5 R$ A$ e$ l4 x- Y
存取成员的方法有2种:结构名·成员名;结构指针名->成员名。前者是结构首地址加偏移法,后者是指针值加偏移法。只要结构指针指在结构的首地址上,二者便访问同义成员。' W* t7 d5 @! R6 Y1 O" w) }
对结构只能进行2中运算:对结构成员的访问和取结构的地址(&结构名)

该用户从未签到

2#
发表于 2016-7-14 14:17 | 只看该作者
支持楼主!谢谢分享!
8 ^$ t" [3 i( o2 t$ {% m

该用户从未签到

3#
发表于 2016-7-14 14:48 | 只看该作者
感谢楼主分享!!!
6 t0 N- @/ F& A) u" o1 ^1 N
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-1 07:54 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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