C++课件 ch06.ppt

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

第 6章 指针;第 6章 主要内容;第 6章 主要内容;6.1 地址、指针和指针变量的概念;; short int x=2 ; float y=3.0 ; char ch= ‘a’ ; ;程序在执行时,CPU并不直接识别变量名,而是通过该变量的内存地址访问其值的。;还有另外一种访问变量的方式称为“间接访问”方式。;;;与*运算符 含义;直接访问与间接访问 直接访问:按变量地址存取变量值 间接访问:通过存放变量地址的变量去访问变量;指针变量;;6.2 指针变量的定义、赋值和引用;2000;3001;5004;;6.2.3 指针的引用;4004;注意: *在指针变量定义时出现和程序运算过程中出现,含义是不同的;2000; void main(){ short int i,*pi; pi=i;//指针变量pi指向i i=5; couti,*pendl; //输出变量i的值 *pi =6; //改变变量i的值 couti,*pendl; }; 指针变量 指针变量与其所指向的变量之间的关系;指针变量的初始化 一般形式:[存储类型] 数据类型 *指针名=初始地址值;;例 main( ) { int i=10; int *p; *p=i; cout *p; };零指针与空类型指针 零指针:(空指针) 定义:指针变量值为零 表示: int * p=0; ;;;;6.3 指针的运算;1. p++(或++p)、p--(或--p); short int i,*pi=i; char ch,*pc=ch; float f,*pf=f; pi++; pc++; pf++; ;2. *p++ 和(*p)++;4004;3. *++p和++(*p);4004;比较:;4004;5. p-q(p,q为同一类型的指针);【例6.2】 同一类型指针相减举例;6.3.2 指针的关系运算 ;;;6.4 指针与一维数组;元素的地址也是元素的指针, 表示为a+i a[i], 指针a+i指向的元素可以表示为 *(a+i), 所以,a[i] *(a+i);;表6.2 指针p与一维数组a的关系;1、指向数组元素的指针变量;;指针的算术运算;;;3、数组元素表示方法;;例 main() { int a []={5,8,7,6,2,7,3}; int y,*p=a[1]; y=(*--p)++; printf(“%d ”,y); printf(“%d”,a[0]); } ;main() { int i,*p,a[7]; p=a; for(i=0;i7;i++) scanf(%d,p++); printf(\n); for(i=0;i7;i++,p++) printf(%d,*p); };(1)通过指针变量的移动访问数组元素 void main() { int a[10],i; *p; for(i=0;i10;i++) cina[i] ; for(p=a;pa+10; p++ ) cout*p“ “; } ;(2)指针变量p指向数组指向首地址不动, 用p+i方式访问数组元素(同样是变址运算); ;【例6.5】用指针变量正反向输出字符数组。;;6.5 指针变量作函数参数;【例6.6】交换两个整数a,b中的值。有下列3种数据交换方式,分析各自的功能,观察实参哪种方式正确。;2.实参为变量的地址,形参为指针变量。;3. 实参为变量的地址,形参为指针变量。;【例6.7】实现一个统计函数。统计字符串 中大写字母、小写字母个数。; //声明函数,实现计数的具体工作 void count ( char *str, //参数str接受实参传来的字符串地址 int * pnumA, //pnumA接受大写字母计数器变量地址 int *pnuma //pnuma接受小写字母计数器变量地址 ); ;void main()

文档评论(0)

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

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

1亿VIP精品文档

相关文档