C语言程序设计 教学课件 作者 刘莹第6章.ppt

C语言程序设计 教学课件 作者 刘莹第6章.ppt

ID:50043616

大小:978.00 KB

页数:42页

时间:2020-03-08

C语言程序设计 教学课件 作者 刘莹第6章.ppt_第1页
C语言程序设计 教学课件 作者 刘莹第6章.ppt_第2页
C语言程序设计 教学课件 作者 刘莹第6章.ppt_第3页
C语言程序设计 教学课件 作者 刘莹第6章.ppt_第4页
C语言程序设计 教学课件 作者 刘莹第6章.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 刘莹第6章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章指针6.1指针与指针变量6.2指针变量的定义与引用6.3一维数组与指针变量6.4字符串与指针变量本章主要内容6.1指针与指针变量6.1.1指针与指针变量设有:chara;intb;floatc;1000200020013000300130023003…………chara;intb;floatc;a的地址b的地址C的地址6.1指针与指针变量各变量所占用的第一个内存单元的地址就是该变量的地址。内存单元的地址称为指针,即指针就是内存单元的地址。6.1指针与指针变量6.1.2指针变量C语言中,允许用一个变量来存放指针(地址值),这种专门用于存放地址的变量就是指针变量。6.1指

2、针与指针变量…a(1000H)……1000Hp(1050H)指针变量p中存放了a变量的地址1000H,则称指针变量p指向变量a。变量a的地址记作:&a指针变量:专门存放另一变量的地址的变量。6.1指针与指针变量指针是地址,是一个常量。而指针变量中可以存放不同的地址,是变量。要使用指针变量同样要遵循“先定义,后使用”的原则。6.2指针变量的定义和引用【例6.1】指针变量定义与引用样例。main(){inta;int*p;p=&a;*p=100;printf("a=%d",a);}定义指针变量pa的地址存入p,即p指向a通过p给a赋值100,相当于a=100a=100间接

3、访问方式6.2指针变量的定义和引用6.2.1指针变量的定义指针变量定义的一般形式为:类型*指针变量名;“类型名”:说明该指针变量中只能存放此类型变量的地址。“*”:表明其后面的变量是指针变量。6.2指针变量的定义和引用6.2.2指针变量的引用只有将指针变量指向某个具体的变量后才能对该指针变量进行引用。但我们知道变量的地址是编译系统分配的,我们如何知道并存入指针变量呢?C语言提供了专门用于取得变量地址的运算符-&。6.2指针变量的定义和引用&:取址运算符。用于取得变量的地址。使用方法如下:&变量名“&”是单目运算符,右结合性。且其右侧只能是变量名,而不能是表达式。6.2指针

4、变量的定义和引用指针变量有了明确的指向后,就可以通过指针变量来访问其指向的变量了,换句话说就是除了使用变量名进行直接的访问外,还可以通过指针变量间接地访问。同样,C语言提供了间接访问的运算符-*。6.2指针变量的定义和引用*:取值运算符,用于取得指针变量所指单元中的值。intm=50,n,*p=&m;n=*p;注意:使用取值运算的前提是一定要先将指针变量指向要访问的变量。等价于:n=m;6.2指针变量的定义和引用inta;int*p;w=p=&a;*p=5;apint*w;wa=a+1;或*p=*p+1;或*w=*w+1;*p*w等价于int*p,*w;间取接值运运算算符

5、符取址运算符直接存取间接存取566.2指针变量的定义和引用【例6.2】分析下面程序的运行结果(程序运行时,从键盘输入1)。main(){chara='A',*p1=&a;intb=66,*p2=&b;floatc,*p3=&c;printf("Inputc:");scanf("%f",p3);*p1=*p2;*p2=b+2;*p3=*p3+*p2;printf("%c,%d,%f",a,*p2,c);}等价于scanf(“%f”,&c);a=b;b=b+2;c=c+b;Inputc:1<回车>B,68,69.0000006.2指针变量的定义和引用【例6.3】编写程序,

6、使用间接访问方式完成将两个数按从小到大的顺序依次输出的功能。6.2指针变量的定义和引用编程要点:若两个数分别放在变量m和n中。要使用间接访问方式就必须再定义两个指针变量p和q,将它们分别指向变量m和n。再假设p指向两个数中的小者,q指向大者。如果m>n,就需要将p指向n,q指向m。否则,不需要进行任何操作。最后依次输出p和q所指的变量,就达到了题目的要求。6.2指针变量的定义和引用main(){intm,n,t,*p,*q;p=&m;q=&n;printf("Inputm&n:");scanf("%d%d",p,q);if(m>n){p=&n;q=&m;}printf("

7、min=%d,max=%d",*p,*q);}Inputm&n:85<回车>min=5,max=86.2指针变量的定义和引用6.2.3对指针变量的运算由于指针有其特定含义,所以对指针变量只能进行有限的运算操作,而不能象int、float等类型的数据那样自由地进行算术、逻辑等各种运算。指针变量可参加以下几种运算。赋值运算算术运算比较运算6.2指针变量的定义和引用【例6.4】指针变量的赋值运算样例。main(){inta=5,*p,*q;p=&a;q=p;*q=a+1;printf("%d,%d",*p,*q);}使用“取址”

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。