第四章 PIC C语言中的指针.pptVIP

  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文档。上传文档
查看更多
第四章 PIC C语言中的指针

const,volatile及persistent同样可以用来于指针,控制指针指向的对象性质.当使用这些限定词定义指针时,必须区分它们是用来修饰指针,还是用来修饰指针指向的变量。 规则为:如果定义时修饰词在*的左边,它用来修饰指针指向的变量;如果修饰词在*的右边,则它用用来修饰指针变量本身。 以volatile为例进行说明: volatile char * nptr 定义了一个指向可变型变量的指针。因为限定词在*的左边, 故限定词volatile修饰的是指针指向的对象。 如定义为: char * volatile nptr 则与上面完全不同。修饰词volatile在*的右边,因而 它用来修饰指针变量ptr,而不是指针指向的变量。最后,定义: volatile char * volatile nnptr; 将产生一个指向可变型变量的可变型指针。 ㈡ volatile、persistent 和const 修饰词的位置含义 3.常数指针 当需要间接访问采用const限定词定义的对象时,应该用指向常数的指针。常数指针和一般的指针在每一个存储器模式下几乎相同,唯一的差别是,编辑器禁止通过常数指针写数,那么,给出定义为: const char * cptr; 语句: Ch=*cptr; 是合法的,而语句: *cptr=ch; 是不合法的。在低等系列芯片中由于常数型对象被存 储在ROM中,因而只能访问ROM;而中等系列芯片中 常数指针,既可以访问ROM,又可以访问RAM。 第四章 PIC C语言中的指针 PIC C程序设计中使用指针可以: 使程序简洁、紧凑、高效 有效地表示复杂的数据结构 动态分配内存 得到多于一个的函数返回值 6.1 指针的概念 变量与地址 程序中: int i; float k; 内存中每个字节有一个编号-----地址 …... …... 2000 2001 2002 2005 内存 0 2003 i k 编译或函数调用时为其分配内存单元 变量是对程序中数据 存储空间的抽象 …... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 指针与指针变量 指针:一个变量的地址 指针变量:专门存放变量地址的变量叫~ 2000 指针 指针变量 变量的内容 变量的地址 指针变量 变量 变量地址(指针) 变量值 指向 地址存入 指针变量 与*运算符 含义 含义: 取变量的地址 单目运算符 优先级: 2 结合性:自右向左 含义: 取指针所指向变量的内容 单目运算符 优先级: 2 结合性:自右向左 两者关系:互为逆运算 理解 …... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 指针变量 i_pointer-----指针变量,它的内容是地址量 *i_pointer----指针的目标变量,它的内容是数据 i_pointer---指针变量占用内存的地址 2000 10 i_pointer *i_pointer i_pointer i i_pointer i (*i_pointer) i *i_pointer *(i) i_pointer = i = (*i_pointer) i = *i_pointer = *(i) 直接访问与间接访问 直接访问:按变量地址存取变量值 间接访问:通过存放变量地址的变量去访问变量 例 i=3; -----直接访问 指针变量 …... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 3 例 *i_pointer=20; -----间接访问 20 指针变量 …... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 整型变量k 例 k=i; --直接访问 k=*i_pointer; --间接访问 10 例 k=i; k=*i_pointer;

文档评论(0)

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

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

1亿VIP精品文档

相关文档