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

结构说明

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
结构说明有原型法和类型别名法2种定义方法。6 `( x  G  c! E# E/ P
1)原型法: x$ b5 u+ r; @: |
(1)声明结构类型的同时定义变量名
6 o7 X5 b  h, a( V1 }格式如下:
# S# j# t5 X9 e0 L1 z, v" N* h[存储类说明符]  struct  [结构原型名]
7 W9 z6 Q& X  `) L. ^                     {类型说明标识符[,标识符...];( A4 z6 T# W) K8 f0 x

; X" H+ a. G4 u- b, s6 s* Z类型说明标识符[,标识符...];
/ E  t# S0 p0 {7 y1 H                                          .1 B9 N( s5 J% h  m( ?$ V( s7 |7 g7 l
                                          .' f9 r) d1 P# t4 k4 N8 j
                                          .
+ _0 q+ ~# K! A8 k4 K                     }标识符[={初值表}[,标识符[={初值表}]...]];
/ T% j) D0 [1 M5 p1 E: G4 C其中:存储类说明符有static、extern;结构原型名有结构名、*结构指针名。$ b3 g7 G! T' V3 |
(2)先声明结构类型再定义变量名
' b2 A! G  P# K+ ], r* G* d( Z格式如下:0 M0 |7 k5 l% L
struct 结构原型名
0 J( {: u$ J$ A! [6 d: @6 T0 G       {类型说明标识符[,标识符...];+ L: Y, @% f3 T
              ...% A9 h! h: v- ]5 B  }4 Z
      : n! H+ ?8 O# Q% I/ W
       }
7 I  n2 ~. z, c$ H6 t& h8 g" T; U       [存储类说明符]    struct 结构原型名
- ]! }0 M4 t6 z0 j$ T( r8 w标识符[={初值表}[,标识符[={初值表}]...];
6 ]3 Q- \% l) ]' F# {其中:存储类说明符有static、extern;结构原型有结构名、*结构指针名。; ]- A6 f+ a0 o' @; _, X0 P0 R
类型别名法
: p( G/ v6 Q! C% j先为结构原型名起别名,再用别名做定义说明。其格式如下:
: m2 ~7 z7 l& D  z/ ^' t5 s7 Ptypedef    struct[结构原型名]6 `# V$ u2 J4 `6 N# ^* l
                            {类型说明符 标识符[,标识符...];
% ^+ U( A' _+ E# d# B& b
/ u! K' {/ s" q1 ^9 C; K+ x- L类型说明符 标识符[,标识符...];
6 O! b" j7 D8 o  a0 R8 y! T' K                             ...
/ ^) M6 I' X9 x* f                            }结构别名
. W6 E5 N5 m; Y6 T+ d[存储类说明符]  结构别名 标识符[={初值表}[,标识符[={初值表}]…]];9 C1 v+ j9 C; ?6 C5 \
其中:存储类说明符有static、extern;结构原型名有结构体、*结构指针名。结构别名习惯上用大写字符。[结构原型名]可用可不用,习惯上不用。因为一般来说,别名更具特色。
6 k9 t" g" h; w说明:% |/ H' ^7 K3 I4 g; n( R, d1 v
结构由各种数据类型的成员组成。成员之间没有次序关系,访问成员不按次序,而用结构成员名。
- I  x' m3 J- N0 v4 p; N# D# u成员可以是各种简单变量类型个符合变量类型,也可以是数组;数组的元素也可以是结构,即结构和数组可以互为嵌套。
# \, U& o) R+ p2 b- b) H只有在定义性说明时,才可以整体性地位结构赋初值。在程序中,不能用语句整体性地址给结构赋值,但可以对程序员个别第进行赋值和去存操作。
5 |% A) h/ p) @- k2 {: C! S存取成员的方法有2种:结构名·成员名;结构指针名->成员名。前者是结构首地址加偏移法,后者是指针值加偏移法。只要结构指针指在结构的首地址上,二者便访问同义成员。8 ]9 B8 k/ g4 {4 u9 l0 W5 K
对结构只能进行2中运算:对结构成员的访问和取结构的地址(&结构名)

该用户从未签到

2#
发表于 2016-8-11 14:40 | 只看该作者
楼主辛苦了!
0 J3 a+ Y2 f5 Z# L

该用户从未签到

3#
发表于 2016-8-12 10:49 | 只看该作者
楼主辛苦了!  t5 Q+ }1 W& |( l$ y7 m0 Y

该用户从未签到

4#
发表于 2016-8-12 11:33 | 只看该作者
好资料,果断收藏3 c& v6 L$ q. E

该用户从未签到

5#
发表于 2016-8-12 14:16 | 只看该作者
路过捧场,谢谢分享!
- f" D7 v' u8 K& p9 A

该用户从未签到

6#
发表于 2016-8-16 09:31 | 只看该作者
感谢楼主分享!!!, t+ J' S6 b0 E1 Z

该用户从未签到

7#
发表于 2016-8-19 14:37 | 只看该作者
学习中,谢谢分享  O2 x, }/ A, K7 y

该用户从未签到

8#
发表于 2016-8-22 10:30 | 只看该作者
资源多,学习不止步,共同进步
0 L, [. ?$ Q" z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 19:07 , Processed in 0.187500 second(s), 26 queries , Gzip On.

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

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

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