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

结构说明

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-8-11 14:16 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

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

x
结构说明有原型法和类型别名法2种定义方法。
; I& J/ p+ [4 `2 B: _0 ~, O# s1)原型法; f8 S) _  ?1 G1 y1 }! y! u: z
(1)声明结构类型的同时定义变量名
; n' V3 t2 W. t格式如下:& s; U3 G  T: `* U1 E. \/ p9 Q
[存储类说明符]  struct  [结构原型名]" \! }# E- r' d1 U
                     {类型说明标识符[,标识符...];
, W$ B- B! M, N% ~" l- x% x2 ]8 u5 f8 H+ F+ q
类型说明标识符[,标识符...];
' p1 N3 o' j* r$ [  G, W* O% H                                          .
% r# s( C, {- g) P8 b8 C                                          .
% `- x8 Y$ A# p; F' ^                                          .
: E" O. G. u7 Q9 C8 T3 x                     }标识符[={初值表}[,标识符[={初值表}]...]];# s: C% V3 Q  q4 e% y! Q
其中:存储类说明符有static、extern;结构原型名有结构名、*结构指针名。# ]6 y5 r. O: |* l; [  ]4 ~
(2)先声明结构类型再定义变量名8 b5 z' J1 B- L2 r* L1 ]
格式如下:3 z3 k$ F+ e3 b% L" C+ O# R4 |
struct 结构原型名
% M0 p2 R# ?: E  N& v       {类型说明标识符[,标识符...];, |' b3 b. p+ P. [% E
              ...* A% h8 }& C+ t1 O# h0 _$ l; ]
      
( Z6 Y& [! O, q4 q( x$ A5 D       }' R2 O5 v* Z+ k; _, J
       [存储类说明符]    struct 结构原型名- i1 j" q* C+ \( [2 s
标识符[={初值表}[,标识符[={初值表}]...];
4 R. E+ @$ ^) h其中:存储类说明符有static、extern;结构原型有结构名、*结构指针名。2 M4 ~0 p, _+ v3 i# N
类型别名法0 V/ ^1 x* D$ p. F8 W) T
先为结构原型名起别名,再用别名做定义说明。其格式如下:
! i9 C* F' ?& G% {9 V( v; s( C1 K: ktypedef    struct[结构原型名]
; k5 V; l/ N& h% q5 z" L( m* ]( S                            {类型说明符 标识符[,标识符...];! f+ V/ _9 e9 b$ @" l

/ w" q6 U5 m! r类型说明符 标识符[,标识符...];( J& Q1 b5 Z  l2 j) t: I! y
                             ...
) \4 T, g, y8 s                            }结构别名
1 H3 s$ q7 N5 h  B/ g$ G[存储类说明符]  结构别名 标识符[={初值表}[,标识符[={初值表}]…]];
- R3 X+ _5 e1 @* r* Y其中:存储类说明符有static、extern;结构原型名有结构体、*结构指针名。结构别名习惯上用大写字符。[结构原型名]可用可不用,习惯上不用。因为一般来说,别名更具特色。7 a) I( ~& A- n1 f
说明:
+ ]# R1 V* R9 B结构由各种数据类型的成员组成。成员之间没有次序关系,访问成员不按次序,而用结构成员名。! X5 y- J, n$ T0 _( s( g% x  K
成员可以是各种简单变量类型个符合变量类型,也可以是数组;数组的元素也可以是结构,即结构和数组可以互为嵌套。. }* q- Z+ a8 K' c- W& S% D+ s- ~
只有在定义性说明时,才可以整体性地位结构赋初值。在程序中,不能用语句整体性地址给结构赋值,但可以对程序员个别第进行赋值和去存操作。# o$ U$ [5 E8 P; |
存取成员的方法有2种:结构名·成员名;结构指针名->成员名。前者是结构首地址加偏移法,后者是指针值加偏移法。只要结构指针指在结构的首地址上,二者便访问同义成员。
2 g$ a6 H5 z; H  w/ T9 e! G) \/ a; h对结构只能进行2中运算:对结构成员的访问和取结构的地址(&结构名)

该用户从未签到

8#
发表于 2016-8-22 10:30 | 只看该作者
资源多,学习不止步,共同进步* k7 N9 K- K, j) c( `& B

该用户从未签到

7#
发表于 2016-8-19 14:37 | 只看该作者
学习中,谢谢分享
' U+ t! b- D, B' D; c0 W. m8 n, c

该用户从未签到

6#
发表于 2016-8-16 09:31 | 只看该作者
感谢楼主分享!!!
9 d# s2 q# ^6 `

该用户从未签到

5#
发表于 2016-8-12 14:16 | 只看该作者
路过捧场,谢谢分享!0 u: G) m/ w) Y' @  D' o! F3 O* p

该用户从未签到

4#
发表于 2016-8-12 11:33 | 只看该作者
好资料,果断收藏
1 _" i! @8 n, k7 `" N

该用户从未签到

3#
发表于 2016-8-12 10:49 | 只看该作者
楼主辛苦了!/ [0 Y" T! G, X

该用户从未签到

2#
发表于 2016-8-11 14:40 | 只看该作者
楼主辛苦了!3 R/ W7 |: K1 W
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 01:43 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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