“C/C程序的设计”第06章节[复合数据类型].ppt

“C/C程序的设计”第06章节[复合数据类型].ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“C/C程序的设计”第06章节[复合数据类型]

Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 6.1 指针类型 概念: 旅馆房间、房间编号、房间名称、派房牌(上写房间号)。 1)地址 给内存单元(一般是字节)的编号 。计算机根据它找到对应的字节进行访问(存取)。 高级语言中定义一个变量,编译时根据其类型分配相应数目的字节(如int 型分2个字节,float 分4个字节),将变量名与对应内存字节映射。 变量名 地址 内存单元 2)指针 给变量、数组、结构体、函数等分配的内存单元或块区的首地址。 假如有:long m=56000 则 : m 就是 m的指针或者说是 m所占内存单元的首地址。此例中,56000就放在从这个地址开始的连续四个字节中。 3)指针变量 定义一种特殊变量,这种变量专门存放指针,用它也可找到(指向)变量、数组、结构体、函数,这样的变量 称作指针变量。 按变量是直接寻址;按指针变量是间接寻址。 由于变量、数组、结构体、函数等所分配的内存单元或块区的大小及结构不同,指针变量因而也要定义成相应的类型,不能混用。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. [例] 交换两数。 void swap( ); main( ) {int a, b; scanf(%d%d”,a,b); swap(a, b); printf(“%d,%d”,a,b); } void swap( int *p1, int *p2) {int t; t=*p1, *p1=*p2, *p2=t ; } 2000H 2001H 2EA0H 2EA1H a=10 b=8 内存 地址 变量 10 8 指针变量 p2=b=2EA0H : : : 3100H 3101H 3802H 3803H 2000H 2EA0H p1=a=2000H Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 变量的指针变量 1) 指针变量的定义 类型标示符 * 变量名 ; [例] int *p1, *p2; 2) 指针变量的赋值 指针变量=变量 [例] 先定义后赋值:p1=a; p2=b; 定义时赋初值: int a, *prt=a; 其中: 是取指针(地址)运算符。 赋初值问题:一个指针变量被定义后,在赋予某一变量的指针以前,其值是随机的,这个随机数可能恰好是系统区的某单元的地址。在系统不知和不受系统管理的情形下改写其中内容是危险的。变量的地址是由系统分配和管理的,因而是安全的。 3)指针变量的使用 p1=a; p2=b; scanf(“%d%d”, p1, p2); t =*p1; *p1=*p2; *p2= t; Evaluation only. Created w

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档