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

结构说明

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
结构说明有原型法和类型别名法2种定义方法。
; w, M7 u! i' U; }+ |- T+ b1)原型法  z$ z+ W# {" n; `5 l
(1)声明结构类型的同时定义变量名" R7 E, F* L7 S1 I0 A' q8 {
格式如下:- U' ]0 S* r" s) T4 v1 o
[存储类说明符]  struct  [结构原型名]1 ]2 d5 D. ^* S' R* Q
                     {类型说明标识符[,标识符...];
; P: \5 E1 b3 ^
; `" r: ?+ \5 w9 C, r7 z& l类型说明标识符[,标识符...];
5 `. U: t/ N7 ~1 d2 ]) f  R. R5 @" A8 e                                          .
+ f4 a! G7 \4 q$ Y- P, S/ B                                          .4 E+ F# l0 i9 w$ y& \9 y
                                          .' m7 u4 w  I1 K4 D  Z9 B3 g
                     }标识符[={初值表}[,标识符[={初值表}]...]];2 J! N& J; J- [1 D& b" ]9 @
其中:存储类说明符有static、extern;结构原型名有结构名、*结构指针名。
6 @4 {0 W+ D6 V(2)先声明结构类型再定义变量名8 V% ]4 G( Y% T9 r5 e
格式如下:. g4 q. l7 P1 @; V. ?
struct 结构原型名
& F( W, M( W1 [( r3 E       {类型说明标识符[,标识符...];: k4 [2 ]1 A0 m8 W" t: Z; L
              ...
6 Q& ?! K5 S* a+ w      ) Y7 i" Q8 D4 f2 ]: q
       }
6 z9 `+ L8 B4 P$ g( C# I0 W       [存储类说明符]    struct 结构原型名; ^' F% q& u6 z- k! a
标识符[={初值表}[,标识符[={初值表}]...];4 j  J% l, g9 k4 j: F
其中:存储类说明符有static、extern;结构原型有结构名、*结构指针名。
0 a" u( y- B# ]; d, ~3 L类型别名法
9 C2 l/ _$ Q/ n! S, M) {# M先为结构原型名起别名,再用别名做定义说明。其格式如下:: m. K' o8 l& S: }, l
typedef    struct[结构原型名]0 g1 X! _( l1 h! \2 x
                            {类型说明符 标识符[,标识符...];3 v0 K9 Q2 \0 s" _  `; R
. B; \) k9 }( X( |9 b: E) K
类型说明符 标识符[,标识符...];
0 ?5 p$ k* b9 {7 I                             ...
% _0 z* `: {$ F( s) o" P! D                            }结构别名' F9 T9 i  i3 o  E9 K8 J
[存储类说明符]  结构别名 标识符[={初值表}[,标识符[={初值表}]…]];) d1 L" B$ t5 d  ]/ M. H
其中:存储类说明符有static、extern;结构原型名有结构体、*结构指针名。结构别名习惯上用大写字符。[结构原型名]可用可不用,习惯上不用。因为一般来说,别名更具特色。
' ~% ^) q, u: X1 m& M! s9 |+ [8 k说明:' Y" ]# H0 w( D& Y5 Z
结构由各种数据类型的成员组成。成员之间没有次序关系,访问成员不按次序,而用结构成员名。! e/ ~- K' s1 B) }; _. k6 y: x
成员可以是各种简单变量类型个符合变量类型,也可以是数组;数组的元素也可以是结构,即结构和数组可以互为嵌套。
' ]) w8 `7 U" K* L' @只有在定义性说明时,才可以整体性地位结构赋初值。在程序中,不能用语句整体性地址给结构赋值,但可以对程序员个别第进行赋值和去存操作。) W; L4 K! r1 {3 W8 U9 s0 n7 f
存取成员的方法有2种:结构名·成员名;结构指针名->成员名。前者是结构首地址加偏移法,后者是指针值加偏移法。只要结构指针指在结构的首地址上,二者便访问同义成员。7 I6 K6 R6 l. Q/ ?- g8 z
对结构只能进行2中运算:对结构成员的访问和取结构的地址(&结构名)

该用户从未签到

2#
发表于 2016-7-14 14:17 | 只看该作者
支持楼主!谢谢分享!% s" o  C2 L& n: M. v& T

该用户从未签到

3#
发表于 2016-7-14 14:48 | 只看该作者
感谢楼主分享!!!" w& T7 I- a& H4 R9 U8 I$ I2 }5 K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 23:44 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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