第8章2 指针.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文档。上传文档
查看更多
第8章2 指针

* * (P116) 指针是一个重要的概念,C语言的高度灵活性和表达 能力,在一定程度上来自于巧妙而恰当地使用指针. 第 8 章(2) 指 针 8.3 指针变量的定义: 一. 指针的概念: 在C语言中,除了可定义int,char,float等变量外,还可定义一种变量: 指针变量 -- 专门用来存放变量(或对象)的地址. 首先看一下内存变量的安排与地址的关系. 设在程序中定义了三个整型变量: int i=3,j=6,k=9; 在程序进行编译时,系统就根据类型给三个变量分配内存地址. 在执行输出语句: printf(“%d”,i); 通过一张变量与地址关系表,找到i的地址,这里设2000,然后把地址内的内容输出. 同理,执行scanf(“%d”,i)时,把输入的数,送到变量i的地址中去(以变量i的首地址2000为代表). 3 6 9 ….. 2000 2002 2004 i j k …. 如果我们现在定义了一个指针变量: i_pointer1 它是专门用来存放整型变量的地址,系统同样会给该变量分配一个地址. 注: 是变量就具有内存地址,所以指针变量i_pointer1也 有一个地址. 现设这个地址为: 3010,3011(见下图). 那么可通过如下语句,将i的地址存入变量i_pointer1中: i_pointer1=i; /* 为取地址运算符.*/ …. 3 6 9 2000 2000 2002 2004 3010 3012 i j k i_pointer1 通过语句: i_pointer1=i; 指针变量i_pointer1取得了变量i的地址. 这时i_pointer1的内容就是2000,2000就是变量i所占内存单元的起始地址. 这时,变量i和指针变量建立了某种联系: 也即i_pointer1取得了i的首地址. 这时可以说: 指针变量i_pointer1指向变量i. “间接访问”的情况在现实世界中是很多的. 设想图书馆的卡片,每一卡片都是指向书的指针,卡片上有书的位置,看到书的位置,到书库中找到该书. …. 3 6 9 2000 2000 2002 2004 3010 3012 i j k i_pointer1 如果要访问(存取)变量i,可先找到存放变量i地址的 单元(即3010). 在该地址处得到i的地址2000,然后再对i进行访问,这就是“间接访问”的情况. 二 .指针变量: (一). 指针变量的定义: 一般形式: 类型标识符 *指针变量标识符 例: int i,j; int *pointer_1, *pointer_2; 上面定义了两个指针变量,变量名却是: pointer_1, pointer_2 (注: 无*号) 并且是指向整型数据的指针变量.(即:该指针变量存放整型变量的地址)。 * 在C中的第二种用法 通过语句:pointer_1=i; pointer_2=j; 使得指针变量pointer_1,pointer_2分别指向变量i,j. …. xxxx1 ….. xxxx2 xxxx1 i j xxxx2 pointer_1 pointer_2 i j 说明: (1). 注意定义指针变量时的形式: int *pointer_1,*pointer_2; 请注意: (1). 与以前定义变量的不同之处. (2). 此处的*用作定义指针之用,不是运算符,而是一 说明符. a. 标识符前“*”说明该变量为指针变量,但变量名为: pointer_1 , pointer_2 (2).一个指针变量是有类型的,指针的类型就是它指向的 变量的类型.一个指针变量只能指向规定的类型变量. 如: 上面

文档评论(0)

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

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

1亿VIP精品文档

相关文档