1、Subroutine Elem_Stiff( ) 说明说明 Stiff=0.0 ! 单元刚度清零单元刚度清零 Select Case (Type) Case (1) 平面杆系结构单元平面杆系结构单元 Case (2) 空间杆系结构单元空间杆系结构单元 Case Default 出错信息出错信息 End Select End Subroutine Elem_Stiff 3.4 杆系结构单元分析子程序杆系结构单元分析子程序 3.4.1 单元刚度总体设计单元刚度总体设计 3.4.2 说明部分设计说明部分设计 Integer,Intent (in) : 入口整型参数入口整型参数 Real(8),Int
2、ent(in) : 入口实型参数入口实型参数 Real(8),Intent(out) : 出口实型参数出口实型参数 Real(8) : Work1, Integer : i,j,k, 实型和整型工作变量实型和整型工作变量 3.4 杆系结构单元分析子程序杆系结构单元分析子程序 3.4.3 平面杆系结构设计平面杆系结构设计 Select Case (Plane) Case (1) 平面桁架元素赋值平面桁架元素赋值 Case (2) 平面梁柱元素赋值平面梁柱元素赋值 Case (3) Case Default 出错信息出错信息 End Select 3.4.4 空间杆系结构设计空间杆系结构设计 Se
3、lect Case (Space) Case (1) 空间桁架元素赋值空间桁架元素赋值 Case (2) 空间梁柱元素赋值空间梁柱元素赋值 Case (3) 交叉梁元素赋值交叉梁元素赋值 Case Default 出错信息出错信息 End Select 3.4 杆系结构单元分析子程序杆系结构单元分析子程序 3.4.5 有关单元等效结点荷载设计和进一步的考虑有关单元等效结点荷载设计和进一步的考虑 1) 单元等效结点荷载设计同仿单元刚度。单元等效结点荷载设计同仿单元刚度。 2) 从各类单元刚度元素的计算,可看到要用到长度、从各类单元刚度元素的计算,可看到要用到长度、 单元弹性特性、单元截面特性等数
4、据。因此,要单元弹性特性、单元截面特性等数据。因此,要 确定存放它们的数据结构。要将它们作为出口。确定存放它们的数据结构。要将它们作为出口。 3) 为计算单元等效结点荷载元素,首先要建立各种为计算单元等效结点荷载元素,首先要建立各种 荷载情况等效荷载表达式,它们可由积分或载常荷载情况等效荷载表达式,它们可由积分或载常 数表得到。然后要解决荷载信息的存放结构,也数表得到。然后要解决荷载信息的存放结构,也 要将它们作为出口量。要将它们作为出口量。 4) 单元刚度矩阵、等效结点荷载矩阵都应先清零。单元刚度矩阵、等效结点荷载矩阵都应先清零。 4.1 杆系结构整体分析杆系结构整体分析 首先就全刚结点平面
5、刚架进行讨论,然后推广。首先就全刚结点平面刚架进行讨论,然后推广。 4.1.1 总的思路总的思路 在单元特性搞清后,将单元拼装回去。在结点处在单元特性搞清后,将单元拼装回去。在结点处 位移自动协调基础上,如果全部结点平衡,则求得位移自动协调基础上,如果全部结点平衡,则求得 的结点位移将是实际结构的解。因此,整体分析就的结点位移将是实际结构的解。因此,整体分析就 是设法建立结点平衡方程。是设法建立结点平衡方程。 4.1.2 坐标转换坐标转换 x y y x xF yF x F y F y d x d yd xd 组成结构的杆件可以各个组成结构的杆件可以各个 方向,单元分析对局部坐标,方向,单元分
6、析对局部坐标, 因此,必须将物理量转为统因此,必须将物理量转为统 一坐标一坐标整体坐标。整体坐标。 1) 力的转换关系力的转换关系 y x y x cossin sincos F F F F 4.1 杆系结构整体分析杆系结构整体分析 2) 位移转换关系位移转换关系 y x y x cossin- sincos d d d d 3) 转换矩阵转换矩阵 100 0 0 CS SC 0 0 sin cos T S C 转换矩阵是正交矩阵。转换矩阵是正交矩阵。 x y y x xF yF x F y F y d x d yd xd T1 TT 4.1 杆系结构整体分析杆系结构整体分析 4) 杆端力转换
7、杆端力转换 )( T eeee PFTPF 5) 杆端位移转换杆端位移转换 e e dTd 6) 刚度方程的转换刚度方程的转换 x y y x xF yF x F y F y d x d yd xd e eee eeee dTkTdkT PFTPF T )( eeee dkPF 如果记如果记 称为整体单元刚度矩阵称为整体单元刚度矩阵 TkTk ee T 则则 eeee dkPF 这就是整体坐标下的单元刚度方程。这就是整体坐标下的单元刚度方程。 本节以后的讨论认为本节以后的讨论认为 都是对整体坐标的都是对整体坐标的 4.1 杆系结构整体分析杆系结构整体分析 4.1.3 结点平衡方程的建立结点平衡
8、方程的建立 1) 一简单例子(如图)一简单例子(如图) 图中有两套编号,图中有两套编号,红红的的 是单元杆端编号,是单元杆端编号,黑黑的是的是 结构整体编号。结构整体编号。 1-1) 结点示意结点示意 1 23 4 1 2 1 2 2 1 图中蓝色的表示结点荷载(已知),图中蓝色的表示结点荷载(已知),红红色的表示色的表示 杆端力(未知的),杆端力(未知的), 、 分别分别1、2单元杆端力单元杆端力 子矩阵。对子矩阵。对1、4结点“荷载”含有未知反力。结点“荷载”含有未知反力。 2 F 1 F 2 2 d P 12 F 21 F 1-2) 结点平衡结点平衡 21orj 由示意图可见,结构由示意
9、图可见,结构 结点的平衡方程为结点的平衡方程为 各杆各杆交交i j i FP 4.1 杆系结构整体分析杆系结构整体分析 从例图可见,其全部结点从例图可见,其全部结点 平衡方程为平衡方程为 1 23 4 1 2 1 2 2 1 若记若记 31 4 d 3222 3 d 2112 2 d 11 1 d FP FFP FFP FP T T 4 d T 3 d T 2 d T 1 dd PPPPP T T 32 T 31 T 22 T 21 T 12 T 11 FFFFFFF 2 2 d P 12 F 21 F F I II II I P 00000 0000 0000 00000 d 4.1 杆系结
10、构整体分析杆系结构整体分析 式中式中I、0分别为单位和零矩阵。分别为单位和零矩阵。 FAP d 1 2 3 若引入矩阵记号若引入矩阵记号 ,则结点平衡方程可改写作,则结点平衡方程可改写作 这一结论虽然是由一个例子得到的,但是显然这一结论虽然是由一个例子得到的,但是显然 对一切结构都是成立的。问题在于不同结构对一切结构都是成立的。问题在于不同结构,A 矩阵是不同的。矩阵是不同的。 00000 0000 0000 00000 I II II I A 4.1 杆系结构整体分析杆系结构整体分析 4.1.4 杆端位移用结点位移来表示杆端位移用结点位移来表示 1 23 4 1 2 1 2 2 1 仍以简单
11、例子来说明仍以简单例子来说明 若记若记 T T 4 T 1 T T 32 T 31 T 22 T 21 T 12 T 11 dddddd 由结点、杆端位移的协调条件,可得由结点、杆端位移的协调条件,可得 、 的对应关系为的对应关系为 T A 式中式中 AT是前面力关系是前面力关系A的转置,因此的转置,因此AT称称 为为位移转换矩阵位移转换矩阵。 4.1 杆系结构整体分析杆系结构整体分析 4.1.5 整体刚度方程整体刚度方程结点平衡结点平衡 1 23 4 1 2 1 2 2 1 若记若记 31 kkdiagK eq d PKF;FAP T T 3 T 2 T 1 eqPPPP 引入位移转换关系,
12、则引入位移转换关系,则 )( eq d PKAP eq eq PAP 记记 T eqd AKAPP 这就是整体刚度方程,它的物理实质是结点平这就是整体刚度方程,它的物理实质是结点平 衡。衡。K称作结构刚度矩阵(或整体刚度矩阵),称作结构刚度矩阵(或整体刚度矩阵), R称作综合等效结点荷载矩阵,它由两部分组成。称作综合等效结点荷载矩阵,它由两部分组成。 KAKA;RPP T eqd 记记 KR 则则 单元个数单元个数 3 1 TT i iii AkAAKA 321 4.1 杆系结构整体分析杆系结构整体分析 4.1.6 整体刚度矩阵的建立整体刚度矩阵的建立 1 23 4 1 2 1 2 2 1 若
13、将若将A按单元分成图示按单元分成图示 三个子矩阵三个子矩阵 00000 0000 0000 00000 I II II I A 则则 由此可见,整体刚度矩阵可由各单元整体刚度由此可见,整体刚度矩阵可由各单元整体刚度 矩阵矩阵装配累加装配累加得到。为说明如何装配,先将单元得到。为说明如何装配,先将单元 刚度矩阵进行分割刚度矩阵进行分割 i i kk kk k 2221 1211 r s sr 整体结点码整体结点码 则由矩阵乘法可证明,则由矩阵乘法可证明,AikiAiT的结果是,将的结果是,将 刚度矩阵子矩阵按整体结点码刚度矩阵子矩阵按整体结点码 r 、s 送整体刚度矩阵送整体刚度矩阵 相应位置。
14、这一装配规则称为“对号入座”。相应位置。这一装配规则称为“对号入座”。 4.1 杆系结构整体分析杆系结构整体分析 1) 任意结构情况任意结构情况 上面结论是通过具体例子(全刚结点平面刚架)上面结论是通过具体例子(全刚结点平面刚架) 得到的,由虚位移原理或势能原理进行整体分析得到的,由虚位移原理或势能原理进行整体分析 (见讲义),可得任意结构其结论同此例。(见讲义),可得任意结构其结论同此例。 2) 结点位移编号结点位移编号 如果按结点顺序,对结点如果按结点顺序,对结点 非零位移进行依次编号,这一非零位移进行依次编号,这一 序号称作结点位移码。为便于序号称作结点位移码。为便于 计算机处理并减少结
15、构刚度矩计算机处理并减少结构刚度矩 阵的阶次,将零位移的号码变阵的阶次,将零位移的号码变 为零。为零。 对图示三铰刚架,当仅对图示三铰刚架,当仅 用一种单元(梁柱自由是用一种单元(梁柱自由是 单元)时结点位移编号如单元)时结点位移编号如 图所示。图所示。 3) 单元定位向量单元定位向量 按单元局部结点码顺序,按单元局部结点码顺序, 将结点位移码排成的向量,称作单元的将结点位移码排成的向量,称作单元的定位向量定位向量。 (0,0,1)(0,0,2) (3,4,5) (6,7,8)(6,7,9) (10,11,12) 1 2 345 6 (0,0,1)(0,0,2) (3,4,5) (6,7,8)
16、(6,7,9) (10,11,12) 1 2 345 6 4.1 杆系结构整体分析杆系结构整体分析 对图示刚架各单元的定位对图示刚架各单元的定位 向量为向量为 (0,0,1,3,4,5) (0,0,2,10,11,12) (3,4,5,6,7,8) (6,7,9,10,11,12) (0,0,1,2,3) (0,0,6,7,8) (1,2,3,4,5) (4,5,6,7,8) 4) 按单元定位向量集装刚度矩阵和综合荷载按单元定位向量集装刚度矩阵和综合荷载 前面说明的是分块子矩阵集装前面说明的是分块子矩阵集装,下面说明如何按定下面说明如何按定 为向量来集装为向量来集装. 如果如图所是采用各种不同
17、的单元如果如图所是采用各种不同的单元(一端有铰(一端有铰 ),),则定位向量为则定位向量为 (0,0,1)(0,0,2) (3,4,5) (6,7,8)(6,7,9) (10,11,12) 1 2 345 6 (0,0)(0,0) (1,2,3)(4,5)(6,7,8) 1 2 34 5 如何获得如何获得 带铰的单元刚带铰的单元刚 度矩阵和等度矩阵和等 效荷载矩阵效荷载矩阵 定位向量定位向量 (0,0,1)(0,0,2) (3,4,5) (6,7,8)(6,7,9) (10,11,12) 1 2 345 6 (0,0)(0,0) (1,2,3)(4,5)(6,7,8) 1 2 34 5 4.1
18、 杆系结构整体分析杆系结构整体分析 4-1) 刚度集装刚度集装 以以 3 单元为例来说明单元为例来说明 5554535251 4544434241 3534333231 2524232221 1514131211 3 k 87654 定位向量定位向量 单元局部位移码单元局部位移码 54321 5 4 3 2 1 8 7 6 5 4 根据单元根据单元 局部位移码局部位移码 和定位向量和定位向量 的对应关系的对应关系 用定位向量用定位向量 位移码送元位移码送元 素。素。 根据单元局部位移码和定位向量的对应关系用定根据单元局部位移码和定位向量的对应关系用定 位向量位移码送元素,定位向量元素为零时不送
19、。位向量位移码送元素,定位向量元素为零时不送。 (0,0,1)(0,0,2) (3,4,5) (6,7,8)(6,7,9) (10,11,12) 1 2 345 6 (0,0)(0,0) (1,2,3)(4,5)(6,7,8) 1 2 34 5 4.1 杆系结构整体分析杆系结构整体分析 4-2) 荷载集装荷载集装 以以 4 单元为例来说明单元为例来说明 定位向量定位向量 8 7 6 0 0 4 5 4 3 2 1 4 P P P P P P 5 4 3 2 1 局局 部部 位位 移移 码码 此结论同样适此结论同样适 用于刚度集装用于刚度集装 4.1 杆系结构整体分析杆系结构整体分析 4.1.7
20、 整体分析总结整体分析总结 1) 对局部坐标和整体坐标不一致的单元,要对刚对局部坐标和整体坐标不一致的单元,要对刚 度、荷载进行坐标转换。度、荷载进行坐标转换。 2) 需对“结构”进行结点、位移的局部和整体编需对“结构”进行结点、位移的局部和整体编 号。号。 4) 集装所得整体刚度矩阵是对称、带状稀疏矩阵,集装所得整体刚度矩阵是对称、带状稀疏矩阵, 当支撑条件能限制刚体位移时,矩阵非奇异。当支撑条件能限制刚体位移时,矩阵非奇异。 3) 根据单元局部位移码和定位向量的对应关系用根据单元局部位移码和定位向量的对应关系用 定位向量位移码送元素,定位向量元素为零时定位向量位移码送元素,定位向量元素为零
21、时 不送。据此可集装、累加得到整体刚度矩阵。不送。据此可集装、累加得到整体刚度矩阵。 5) 综合荷载由两部分组成,因此首先要将直接作综合荷载由两部分组成,因此首先要将直接作 用结点的荷载按结点位移码送入,如果还有单用结点的荷载按结点位移码送入,如果还有单 元等效荷载,再按定位向量集装、累加。元等效荷载,再按定位向量集装、累加。 4.1 杆系结构整体分析杆系结构整体分析 8) 如果有某位移码方向弹性支撑,需进行将弹簧如果有某位移码方向弹性支撑,需进行将弹簧 刚度送入位移码对应的对角线元素位置累加。刚度送入位移码对应的对角线元素位置累加。 9) 如果有某位移码方向已知支撑位移,需进行将如果有某位移
22、码方向已知支撑位移,需进行将 “边界条件处理”。具体做法以后介绍。“边界条件处理”。具体做法以后介绍。 7) 整体刚度方程实质是全部结点的平衡条件。整体刚度方程实质是全部结点的平衡条件。 6) 刚度矩阵带状稀疏,其带宽取决于结点、位移刚度矩阵带状稀疏,其带宽取决于结点、位移 编码。编码。 最大半带宽最大半带宽=定位向量中最大元素差定位向量中最大元素差+1。 4.1 杆系结构整体分析杆系结构整体分析 2.5.8 边界条件的处理边界条件的处理 10) 当用虚位移或势能原理作整体分析时(势能为当用虚位移或势能原理作整体分析时(势能为 例),应变能为单元应变能之和,外力势能为例),应变能为单元应变能之
23、和,外力势能为 单元外力势能之和单元外力势能之和+结点外力势能。全部杆端力结点外力势能。全部杆端力 的外力势能彼此抵消。的外力势能彼此抵消。 1) 乘大数法乘大数法 设第设第 i 个位移为已知值个位移为已知值 a ,N =108 或更大的数。或更大的数。 乘大数法是乘大数法是将刚度矩阵将刚度矩阵Kii改为改为N Kii,将,将Ri改为改为 N a。 请考虑请考虑 为什麽这样做能使为什麽这样做能使 边界条件得到满足?边界条件得到满足? 2) 置换法(划零置置换法(划零置1) 设第设第 i 个位移为已知值个位移为已知值 a 。 n i n i nnnjninn inijiiii nji nji R
24、 R R R KKKKK KKKKK KKKKK KKKKK 2 1 2 1 21 21 2222221 1111211 4.1 杆系结构整体分析杆系结构整体分析 上述置换工作量大一些,显然可看出边界条件得上述置换工作量大一些,显然可看出边界条件得 到精确满足。到精确满足。 aKR a aKR aKR KKKK KKKK KKKK nin i i n i nnnjnn nj nj 22 11 2 1 21 222221 111211 0 00100 0 0 4.1 杆系结构整体分析杆系结构整体分析 3) 关于斜边界的处理关于斜边界的处理 如图示意的斜支座情况,有多种处理方案。如图示意的斜支座情
25、况,有多种处理方案。 3-1) 通过单元的坐标转换来处理通过单元的坐标转换来处理 x y x y 图示有斜支座单元,图示有斜支座单元,r 结点处结点处 以倾角以倾角 - 来进行坐标转换,也来进行坐标转换,也 即在即在r 结点处整体坐标为图示结点处整体坐标为图示 xy 。 r 3-2) 通过增加一个单元来处理通过增加一个单元来处理 图示有斜支座单元,图示有斜支座单元,r 结点处沿结点处沿 y 方向增加一个方向增加一个 刚结的单元,此单元有“无穷大”的抗拉刚度、但刚结的单元,此单元有“无穷大”的抗拉刚度、但 没有抗弯刚度。单元长度可任意。没有抗弯刚度。单元长度可任意。 3-3) 对整体刚度矩阵进行
26、处理(参见匡文起教材)对整体刚度矩阵进行处理(参见匡文起教材) 最大最大 半带宽半带宽 2.5 杆系结构整体分析杆系结构整体分析 2.5.10 总刚度矩阵的存储与对应解法总刚度矩阵的存储与对应解法 因为总刚度矩阵对称、带状稀疏,利用这一特因为总刚度矩阵对称、带状稀疏,利用这一特 点可减少存储、提高解算效率。点可减少存储、提高解算效率。 nnnin iniii ni KKK KKK KKK 1 1 1111 零元素零元素 零元素零元素 非零元素非零元素 最大最大 半带宽半带宽 主对角线元素主对角线元素 等等 半半 带带 存存 储储 零元素零元素 1 3 6 10 14 53 60 66 72 非
27、非 零零 元元 素素 变变 带带 宽宽 一一 维维 存存 储储 带带 宽宽 是是 变变 的的 到到P.55 2.5 杆系结构整体分析杆系结构整体分析 目前一般都用变带宽存储,下面结合程序说明目前一般都用变带宽存储,下面结合程序说明 存储和解法。首先介绍一些存储和解法。首先介绍一些F 90的语法。的语法。 定义导出类型定义导出类型 导出类型导出类型结点结点 type : typ_Joint real : x,y !坐标坐标 integer : GDOF(3)!整体位移码整体位移码 end type typ_Joint 1) 有关有关 F90 语法语法 导出类型 新特性新特性 用结点导出类型作为成
28、员导出单元类型: type : typ_Element integer : JointNo(2) !结点编号结点编号 type(typ_Joint) : Node(2) !结点结点 integer : GlbDOF(6) ! 定位向量定位向量 real : EA,EI end type typ_Element type (typ_Element) : Elem(5) !定义定义5 5个单元类型个单元类型 ! ! 对单元对单元i i的端点的端点j j的的x,y,GDOF(x,y,GDOF(1 1: :3 3) )的赋值的赋值 Elem(i)%Node(j) = Joint(Elem(i)%Joi
29、ntNo(j) 由导出类型定义新类型由导出类型定义新类型 由导出类型定义变量由导出类型定义变量 real : A(5),B(5,10),C(5) B=0.0 ! !对对B B清零清零 A=1.0 ! !对对A A赋赋1 1: : A(i)=A(i)=1 1. .0 0, , i=i=1 1, ,5 5 C=A+2 ! !数组与标量运算数组与标量运算: : A(A(1 1: :5 5)+(/)+(/ 2 2, ,2 2, ,2 2, ,2 2, ,2 2 /)/) A=C+A ! !数组与数组运算数组与数组运算(同形同形) C=sqrt(A) !数组的函数运算数组的函数运算: : C(i)=sq
30、rt(A(i),C(i)=sqrt(A(i), i=i=1 1, ,5 5 数组内部函数数组内部函数: dot_product(vector_a,vector_b) ! !点积点积 如:如: dot_product(/1,2,3/),(/2,3,4/) 的值为的值为2020 (待续待续) 有关有关 F90 语法语法 数组运算与赋值数组运算与赋值: matmul(matrix_a,matrix_b) 矩阵相乘矩阵相乘 如:如:locEDisp = matmul(T,glbEDisp) transpose(matrix) 矩阵转置矩阵转置 如:如:glbEDisp = matmul(transpo
31、se(T),locEDisp) size(array,dim) 求数组第求数组第dimdim维的长度维的长度 dim为可选变元为可选变元: : size(a,dim=2) 若若arrayarray为一维时为一维时,可不用可不用dimdim。 sum(array,dim,mask)sum(array,dim,mask) 数组元素求和数组元素求和 dim,mask为可选变元;为可选变元;mask=条件表达式条件表达式 sum(a(1:10) 对对a a的的1 1到到1010元素求和元素求和 sum(a(1:10),mask=a0) 对对a(a(1 1: :1010) )中大于中大于0 0的元素求和
32、的元素求和 e e dTd (续)(续) 有关有关 F90 语法语法 wherewhere结构结构 新特性新特性 例例 where (C0) C = 0 A = B*D end where where (C0) A = B end where 定义定义 where ( (数组关系表达式数组关系表达式) ) 数组赋值语句数组赋值语句 elsewhere 数组赋值语句数组赋值语句 . end where 规则: 1)1)同形数组同形数组; 2); 2)不许嵌套不许嵌套; 3); 3)最多二分叉最多二分叉 有关有关 F90 语法语法 cycle和exit语句 新特性 用在用在dodo循环中循环中 c
33、ycle 作下一个循环步作下一个循环步 exit 跳出循环,执行跳出循环,执行end doend do后一条语句后一条语句 等效例等效例 do . if(.not.cond1)then . if(cond2) goto 5 . end if end do 5 . 用法用法 do . if (cond1) cycle . if (cond2) exit . end do . 有关有关 F90 语法语法 数组构造函数数组构造函数spreadspread 语法语法 spread(数组名数组名,dim,ncopies) 将数组沿将数组沿dimdim维方向复制维方向复制ncopiesncopies形成新
34、数组形成新数组 dim,ncopiesdim,ncopies 整型整型、位置变元位置变元、关键字变元关键字变元 (若按位置引用若按位置引用,可略关键字可略关键字) 例例: : (仅限一维数组)(仅限一维数组) 1 1) spread(one,dim=1,ncopies=3) spread(one,1,3) spread(one,ncopies=3,dim=1) 1, 1, 1 或或 1, 1, 1T 2 2) ELocVec(1:6)=(/ 1,0,3,4,5,0 /) spread(ELocVec,dim=1,ncopies=3) 054301 054301 054301 3 3) spre
35、ad(A(2,2:),dim=1,ncopies=2) 332313 322212 312111 A . . . 3222 3222 如果如果dim=2呢呢? 有关有关 F90 语法语法 指针指针pointerpointer pointerpointer是变量的属性是变量的属性,可以指向相同类型的变量可以指向相同类型的变量; ; 被指向的目标必须具有被指向的目标必须具有targettarget属性或属性或pointerpointer属性属性 可以将指针变量理解为别名可以将指针变量理解为别名、称号称号 real,targetreal,target : a,b,EDisp(a,b,EDisp(6
36、6) ) ! ! 可被指针所指可被指针所指 real,pointerreal,pointer : p p1 1,p,p2 2 ! ! 称号:班长称号:班长、课代表课代表 !p p1 1,p,p2 2是指针是指针,可以指向实型数据可以指向实型数据 real,pointerreal,pointer : G(G(: :) ) ! ! 先进集体先进集体 !G G是指针是指针,可以指向一维实型数组可以指向一维实型数组 指针是一种指针是一种“称号称号”,上述声明语句建立了上述声明语句建立了“称称 号号”,但并未但并未“授予授予”某个变量这个称号某个变量这个称号,因此因此 是指向是指向“空空”,并未占用内存并未占用内存 a a = = 3 3. .0 0 p p1 1 = a a ! ! p p1 1指向指向a a ! ! 称号称号p p1 1授予授予a a,a a的数据有两个名:固定名的数据有两个名:固定名a a和流动和流动 名名p p1 1; ; 既可用既可用p p1 1也可用也可用a a(p p1 1 班长班长,a a 张三张三) a a = = 4 4. .0 0 ! ! a a的值变为的值变为4 4. .0 0, ,p p1 1也变为也变为4 4. .0 0 p p1 1 = b b ! ! 班长换人了班长换人了 G G = E