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

结构说明

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
结构说明有原型法和类型别名法2种定义方法。2 [! m+ X" W; b- O) O# U  a+ t* w' x
1)原型法
9 W) [" N. l: [# |(1)声明结构类型的同时定义变量名# C% s) ^0 d) O  M. f1 m
格式如下:. U; u0 G5 Z9 B, u* ~
[存储类说明符]  struct  [结构原型名]0 ~0 l( z/ i% a6 p+ u$ D
                     {类型说明标识符[,标识符...];
6 l% v  V, y, ^+ U( L& h/ v( x1 E6 H8 k3 {, Z
类型说明标识符[,标识符...];
! @+ P  B% [" R% H9 V- S                                          .
& U2 m4 X: }+ A/ {                                          .
. o; _6 o7 E& w( W" Z                                          .
) x5 e% w: k! i& Z4 X" u                     }标识符[={初值表}[,标识符[={初值表}]...]];% I: D: I0 a. U) e& `& H
其中:存储类说明符有static、extern;结构原型名有结构名、*结构指针名。  c3 F8 L. z* s5 q6 L* _) a
(2)先声明结构类型再定义变量名
8 J4 M: c; W3 \* E1 M8 y3 X+ N格式如下:1 ^% H, `4 {/ o. F3 C6 x" w
struct 结构原型名
: s" X9 d* I: o" s/ ~9 J, K, D       {类型说明标识符[,标识符...];
4 x, ]* J9 C& r6 Y( D# D9 w2 a$ u              ...
6 Y* W2 Q8 b- J7 ^4 I' n& Z      $ o5 ^9 Q2 \9 P4 V
       }  J( Z+ E2 p. D1 _2 ^' y( t: R
       [存储类说明符]    struct 结构原型名# n3 u" P3 m4 r3 C) K* f* v& y: u( m9 ^
标识符[={初值表}[,标识符[={初值表}]...];2 q  B5 c8 J# I
其中:存储类说明符有static、extern;结构原型有结构名、*结构指针名。
$ i( y, m% {4 G7 P3 P0 c类型别名法+ _, k0 [' S5 C. E- x' H
先为结构原型名起别名,再用别名做定义说明。其格式如下:% r4 M9 l! q1 J7 R7 t3 m" Y
typedef    struct[结构原型名]7 i7 o2 c* I' z- {! A
                            {类型说明符 标识符[,标识符...];
  u5 G/ K' o* ]+ P  f- H! L
+ O# k8 v6 A: v3 o% z8 K! z类型说明符 标识符[,标识符...];! V5 T. W' j* p4 a: S- Z% l
                             ...2 k$ j' y2 q' d7 ~" U
                            }结构别名
& h1 [- l& w9 {/ l" A  ]& w9 B[存储类说明符]  结构别名 标识符[={初值表}[,标识符[={初值表}]…]];- A0 k9 C- ~6 w+ C  b! e, ^
其中:存储类说明符有static、extern;结构原型名有结构体、*结构指针名。结构别名习惯上用大写字符。[结构原型名]可用可不用,习惯上不用。因为一般来说,别名更具特色。
8 |6 {. o  ^8 `  u# y- F$ U1 J说明:& }# l! u: `' Y6 o5 R# t. s
结构由各种数据类型的成员组成。成员之间没有次序关系,访问成员不按次序,而用结构成员名。
0 v9 S5 {8 R* i成员可以是各种简单变量类型个符合变量类型,也可以是数组;数组的元素也可以是结构,即结构和数组可以互为嵌套。0 ~: j( k- N' D) E( k+ \
只有在定义性说明时,才可以整体性地位结构赋初值。在程序中,不能用语句整体性地址给结构赋值,但可以对程序员个别第进行赋值和去存操作。, j" P; b8 E2 r, L2 A3 {$ {
存取成员的方法有2种:结构名·成员名;结构指针名->成员名。前者是结构首地址加偏移法,后者是指针值加偏移法。只要结构指针指在结构的首地址上,二者便访问同义成员。
/ `( U0 @- B% s6 @, \; u4 V+ R% ~对结构只能进行2中运算:对结构成员的访问和取结构的地址(&结构名)

该用户从未签到

2#
发表于 2016-7-14 14:17 | 只看该作者
支持楼主!谢谢分享!6 I) t: Z7 D5 J* |/ _

该用户从未签到

3#
发表于 2016-7-14 14:48 | 只看该作者
感谢楼主分享!!!
) Y5 |7 c2 ?5 I6 B8 Y
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 21:57 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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