西安石油大学程序设计语言(C)课件第7章 指针.pptVIP

西安石油大学程序设计语言(C)课件第7章 指针.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本 章 内 容 地址和指针的概念 变量的指针和指向变量的指针变量 数组与指针 字符串与指针 指向函数的指针 返回指针值的函数 指针数组和指向指针的指针 有关指针的数据类型和指针运算的小结 引 言 指针的作用 有效地表示复杂的数据结构 动态分配内存 方便地使用字符串 有效而方便的使用数组 直接处理内存地址 在调用函数时得到多于一个的值 7.1 地址和指针的概念 数据在内存中的存储和读取 int x=3; x 2000 变量x是符号地址 内存单元的地址 内存单元的内容 数据访问的两种方式 直接访问 按变量地址存取变量。 程序经过编译后已将变量名转换为变量地址。 间接访问 先找到存放变量地址的变量,取出变量地址。 再按地址存取变量。 7.1 地址和指针的概念 例如: 设整型变量i_pointer,存放整型变量的地址。 设整型变量i,所占内存的起始地址为2000。 采用间接访问方式,访问变量i的值。 i_pointer i i_pointer = i; 指针和指针变量 变量的地址称为该变量的指针。(const) 用来存放变量地址(或指针)的变量称为指针变量。(variable) 7.2 变量的指针和指向变量的指针变量 基本概念 变量的指针即变量的地址。 指针变量即存放变量地址的变量,用来指向另一个变量。 指针变量和变量之间是一种指向关系,在程序中用*来表示。 例如: 设i_pointer为指针变量,它所指向的变量为i, 则有: i_pointer = i; *i_pointer = i; 7.2 变量的指针和指向变量的指针变量 定义一个指针变量 变量的指针即变量的地址,存放变量地址的变量是指针变量,用*表示指向。 指针变量的定义形式 基类型 *指针变量名; 基类型:指定该指针变量可以指向的变量的类型。 例如:int *p; float *p1, *p2; 7.2 变量的指针和指向变量的指针变量 指针变量如何指向另一个变量? 用赋值语句使一个指针变量指向一个特定类型的变量。 例如: int ii; int *p; p = ii; 7.2 变量的指针和指向变量的指针变量 说明 指针变量前面的*,表示该变量的类型为指针变量。 在定义指针变量时必须指定基类型。 一个指针变量只能指向同一个类型的变量。 7.2 变量的指针和指向变量的指针变量 指针变量的引用 指针变量中只能存放地址(指针),不能将非地址类型的数据赋给一个指针变量。例如: int *p; p=2000; //error ? 两个有关的运算符 :取地址运算符 * :指针运算符(间接访问运算符) 两运算符优先级别相同,右结合性。 例7.1:通过指针变量访问整型变量。 7.2 变量的指针和指向变量的指针变量 说明 1) int a, b, *pointer_1, *pointer_2; pointer_1 = a; pointer_2 = b; 则: *pointer_1 //? pointer_2 = *pointer_1; //? 7.2 变量的指针和指向变量的指针变量 *a与a等价 (*pointer_1)++相当于a++。 而 *pointer_1++; ? 7.2 变量的指针和指向变量的指针变量 例7.2:输入a和b两个整数,按先大后小的顺序输出a和b。 7.2 变量的指针和指向变量的指针变量 指针变量作为函数参数 作用:将一个变量的地址传送到另一个函数中。如例7.3。 swap(int *p1, int *p2) { int temp; temp = *p1; *p1 = *p2; *p2 = temp } main() { int a, b; int *pp1, *pp2; scanf(%d, %d, a, b); pp1 = a; pp2 = b; if(a b) swap(pp1, pp2); printf(%d, %d, a, b); } 7.2 变量的指针和指向变量的指针变量 1) 调用函数swap(pp1, pp2)之前 2) 执行swap函数 3) swap函数调用结束

您可能关注的文档

文档评论(0)

ormition + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档