C语言-第6章指针(成)

C语言-第6章指针(成)

ID:44250873

大小:677.50 KB

页数:54页

时间:2019-10-20

C语言-第6章指针(成)_第1页
C语言-第6章指针(成)_第2页
C语言-第6章指针(成)_第3页
C语言-第6章指针(成)_第4页
C语言-第6章指针(成)_第5页
资源描述:

《C语言-第6章指针(成)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章指针指针的概念变量的指针和指向变量的指针变量数组的指针和指向数组的指针变量字符串的指针和指向字符串的指针变量函数的指针和指向函数的指针变量返回指针值的函数指针数组和指向指针的指针第6章作业实验101指针的概念1、内存单元,内存地址;不同数据类型占用内存单元数(字节数)不同,如…2、变量名,变量的地址,变量的值如:inti=10;10变量名:i变量的地址:&i,2000变量i的值:102000p30003、指针:地址变量的指针:变量的地址指针变量:专门存放指针(地址)的变量指针变量的值:指针(地址)如上例,p称为“指针变量

2、”;i的指针:&i,2000;p的指针:&p,3000;i的值:10;p的值:2000。i20002指针的概念严格地说,一个指针是一个地址,是一个常量;而一个指针变量却可以被赋予不同的指针值,是变量。但是常把指针变量简称为“指针”。为了避免混淆,我们约定:“指针”是指地址,是常量,“指针变量”是指取值为地址的变量。定义指针的目的是为了通过指针去访问内存单元。3变量的指针和指向变量的指针变量一、指针变量的定义及引用1、定义类型标识符*指针变量名;如:inti=10;piint*p;200010p=&i;/*让p指向i*/3000

3、20002、引用(1)&取地址符(2)*指针运算符如:inti=10,*p;p=&i;printf(“%d”,*p);*p表示:p所指变量,i&i表示:i的地址,20004变量的指针和指向变量的指针变量&p表示:p的地址,3000i的值为:10p的值为:2000由此可见:存取变量i的值有两种方式:①直接访问:按变量i的地址存取i的值。②间接访问:将变量i的地址存放在另一个变量p中,存取时:先找到存放“i的地址”的变量p,从中取出i的地址;再到该地址处存取i的值。注意:(1)区分p,*p,&p(2)&和*可看作是一对互逆运算符如

4、:inti=10,*p;p=&i;则&(*p)*(&i)=&i=p=*p=i5变量的指针和指向变量的指针变量【附例7.1】#includemain(){inta,b;int*p1,*p2;a=100;b=10;p1=&a;p2=&b;printf("%d,%d",a,b);printf("%d,%d",*p1,*p2);}运行结果为:100, 10100, 10注意:程序中有两处出现*p1和*p2,请区分它们的不同含义。6变量的指针和指向变量的指针变量P153【例7-1】输入a和b两个整数,按先大后小

5、的顺序输出a和b。方法一:main(){int*p1,*p2,*p,a,b;p1=&a;p2=&b;scanf(“%d%d”,p1,p2);if(*p1<*p2){p=p1;p1=p2;p2=p;}printf("a=%d,b=%d",a,b);printf("max=%d,min=%d",*p1,*p2);}运行情况如下:68↙a=6,b=8max=8,min=6交换p1和p2的指向,并没有交换p1和p2所指变量的值7变量的指针和指向变量的指针变量方法二:main(){int*p1,*p2,a,b,t;p1=&a;p

6、2=&b;scanf(“%d%d”,p1,p2);if(*p1<*p2){t=*p1;*p1=*p2;*p2=t;}printf("a=%d,b=%d",a,b);printf("max=%d,min=%d",*p1,*p2);}运行情况如下:68↙a=8,b=6max=8,min=6交换p1和p2所指变量的值8变量的指针和指向变量的指针变量二、指针运算1、赋值(1)inti,*p=&i;(2)inti,*p;p=&i;(3)inti,*p1,*p2=&i;p1=p2;/*让p1指向p2所指变量,即p1、p2指向同一变

7、量*/(4)inta[5],*p=a;/*让p指向一个数组*/(5)char*p=”China”;/*让p指向一个字符串*/9变量的指针和指向变量的指针变量2、加减算术运算(1)指针和整数进行+,-,++,--如:inta,*p=&a;(假设&a为2000)则p++指向下一个位置(元素)(而不是将p值简单加1),此时:p值为2000+2,并非2000+1同理,若floata,*p=&a;则p++后,p值为2000+4同理,若inta[10],*p=a;则p+i指向下面第i个元素a[i](2)两个指针变量可相减仅当p,q指向同一

8、数组时,相减才有意义,则

9、p-q

10、表示p所指位置与q所指位置之间的元素个数。10变量的指针和指向变量的指针变量3、关系运算仅当p,q指向同一数组时p==q表示p,q指向同一数组元素;p>q表示p处于高地址位置;p

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

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

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