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

结构说明

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
结构说明有原型法和类型别名法2种定义方法。
. r* T* J0 z0 C3 Z1)原型法2 k6 h' {4 H: w8 d6 @% R8 [
(1)声明结构类型的同时定义变量名
# W& o" b9 K: o4 o& M2 o格式如下:
7 G& z- k  ^% |5 ]9 F+ H: \2 g' ?4 j[存储类说明符]  struct  [结构原型名]( g+ i& Z; E6 c  p0 ?' k% t
                     {类型说明标识符[,标识符...];$ ~6 Y# E1 s7 e; M. u

& Y; T% u- n) Q' V类型说明标识符[,标识符...];0 o# ]/ m! J/ A! K/ v0 \
                                          .& B6 u3 p* ]8 {7 e, x  c
                                          .
7 m$ E, z) v8 R( i$ n" I                                          .: e1 _5 h9 f; }8 u( b+ C
                     }标识符[={初值表}[,标识符[={初值表}]...]];+ n" r/ v( a' `; v" H
其中:存储类说明符有static、extern;结构原型名有结构名、*结构指针名。2 a$ s- N6 r! w
(2)先声明结构类型再定义变量名
: n0 O. K# n) I格式如下:- q6 O. W; t! p0 [7 m) H& J
struct 结构原型名3 `3 v) n* O  R
       {类型说明标识符[,标识符...];$ h, V) d1 J  Y; f0 Y7 T& \
              ...
% v$ Z5 K# C; B      1 m" k9 U* v2 K8 |8 Z! \% p- `$ l
       }
: p5 w6 M) O3 e$ d       [存储类说明符]    struct 结构原型名
* ^0 l4 O$ G/ B3 a5 }6 L7 ]标识符[={初值表}[,标识符[={初值表}]...];
3 r' z3 l" \2 s0 D3 x: q- e  a其中:存储类说明符有static、extern;结构原型有结构名、*结构指针名。; C1 N; v, _* l# e, @3 C
类型别名法8 t' h) B5 y# B. O6 p" O3 q
先为结构原型名起别名,再用别名做定义说明。其格式如下:3 F2 b& `. L& q1 c
typedef    struct[结构原型名]
* H" ?# l0 ~' @- ^  i  w& Z2 L                            {类型说明符 标识符[,标识符...];
+ {* j- y9 d7 L( }, Y
! t& I  N6 L# j" j$ z( X类型说明符 标识符[,标识符...];
8 @; B, l# Y" G8 R: j/ |                             ...
9 j/ c8 n% r$ f, q' L# s2 p# P                            }结构别名- e8 ~: C+ R+ B; t
[存储类说明符]  结构别名 标识符[={初值表}[,标识符[={初值表}]…]];
8 z' t! m" R3 Z; `, Z7 O* [% V0 L其中:存储类说明符有static、extern;结构原型名有结构体、*结构指针名。结构别名习惯上用大写字符。[结构原型名]可用可不用,习惯上不用。因为一般来说,别名更具特色。3 e: q3 f- r8 B5 {9 K5 ?  x$ c7 E1 t
说明:
0 P5 i+ g3 F. l+ m结构由各种数据类型的成员组成。成员之间没有次序关系,访问成员不按次序,而用结构成员名。! F. O) w- D: p. S
成员可以是各种简单变量类型个符合变量类型,也可以是数组;数组的元素也可以是结构,即结构和数组可以互为嵌套。
# y) K/ L1 \- _3 _, \* P% x只有在定义性说明时,才可以整体性地位结构赋初值。在程序中,不能用语句整体性地址给结构赋值,但可以对程序员个别第进行赋值和去存操作。  T# q% n7 W5 B, d! [8 U& H( e
存取成员的方法有2种:结构名·成员名;结构指针名->成员名。前者是结构首地址加偏移法,后者是指针值加偏移法。只要结构指针指在结构的首地址上,二者便访问同义成员。
( ]4 E; D2 z, f/ c: O( u2 i对结构只能进行2中运算:对结构成员的访问和取结构的地址(&结构名)

该用户从未签到

2#
发表于 2016-7-14 14:17 | 只看该作者
支持楼主!谢谢分享!
0 [! \  @+ q4 |9 D8 A+ E% T5 f  N, H

该用户从未签到

3#
发表于 2016-7-14 14:48 | 只看该作者
感谢楼主分享!!!
! Y7 d3 s7 D/ Y) \& Z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-9-6 20:58 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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