C语言教案8-指针.ppt

C语言教案8-指针.ppt

ID:57304093

大小:75.50 KB

页数:23页

时间:2020-08-11

C语言教案8-指针.ppt_第1页
C语言教案8-指针.ppt_第2页
C语言教案8-指针.ppt_第3页
C语言教案8-指针.ppt_第4页
C语言教案8-指针.ppt_第5页
资源描述:

《C语言教案8-指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言程序设计第8章指针地址和指针在计算机中,内存是用来存储程序和数据的部件。为了便于存储,通常把内存划分成许多个存储单元,并且对存储单元进行编号,存储单元的编号称为地址。地址通常以字节为单位进行编址。在C语言中地址是指数据在内存中存放的起始位置,如:变量(整型、浮点型、字符型、数组元素)的地址用&表示数组的地址用数组名表示。数组的地址就是数组中第一个元素的地址字符串常量的地址直接写出字符串,表示字符串的第一个字符的地址函数的地址用函数名表示。函数的地址就是函数的入口地址指针:存放地址的变量叫指针,也叫指针变量。指针变量的值是另一变量的地址,指针变量的

2、值可以改变。指针变量的内容是所指变量的值。地址是一个常量如&i、数组名如a(或&a[0]),其值不能改变。指针变量指针变量的说明方式:<类型说明符>*<标识符>例:int*ptr,i=5;i是一个整型变量,ptr是一个指向整型变量的指针ptr=&i;&i是变量i的地址(指针常量),ptr是一个指针(指针变量)指针变量的运算符:*取指针变量所指的内容&取变量的地址上例中,*ptr==i&i==ptr&*ptr==ptr*&i==i注意:*出现在C程序的不同场合具有不同的含义。例8-1#includevoidmain(){inta=5,b

3、=10,c=15;int*pa,*pb,*pc;pa=&a;pb=&b;pc=&c;printf("%dt%dt%d",a,b,c);printf("%dt%dt%d",*pa,*pb,*pc);printf("%dt%dt%d",*&a,*&b,*&c);printf("%xt%xt%x",pa,pb,pc);printf("%xt%xt%x",&a,&b,&c);printf("%xt%xt%x",&*pa,&*pb,&*pc);printf("%xt%xt%x",&pa,&pb,&pc);}

4、指针作为函数参数-比较下面的例子#includevoidexchange(intx,inty){inttemp;temp=x;x=y;y=temp;}voidmain(){inta=5,b=8;exchange(a,b);printf("a=%dtb=%d",a,b);}运行结果:a=5b=8#includevoidexchange(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}voidmain(){inta=5,b=8;exchange(&a,&b);printf("a=

5、%dtb=%d",a,b);}运行结果:a=8b=5指针与数组在C语言中,数组名是指针常量,它代表的是数组的首地址,也是数组第一个元素的地址。设有:intdata[10];则:data==&data[0]data+i==&data[i]*(data+i)==data[i]例:8-3data→data[0]data+1→data[1]…data+i→data[i]例:使用指针作为形参和实参#include#includeintmin(int*p,intn);main(){staticinta[7]={-1,9,7,3

6、,-100,0,8};clrscr();printf("minvalue=%d",min(a,7));}intmin(int*p,intn){inti,minv;minv=*p;for(i=1;i*(p+i))minv=*(p+i);returnminv;}数组名做为实参,传递数组的首地址(地址常量)指针变量做为形参,接收数组的首地址例:以数组和数组元素形式处理指针#include#includeintmin(int*p,intn);main(){staticinta[7]={-1,9,

7、7,3,-100,0,8};clrscr();printf("minvalue=%d",min(a,7));}intmin(intp[],intn)*p改为p[],用下标法表示指针对象{inti,minv;minv=p[0];*p改为p[0]for(i=1;ip[i])minv=p[i];*(p+i)改为p[i]returnminv;}p[i]表示当前指针后第i个对象P[]形式上像数组,实际上按指针方式处理例:再探数组和指针#include#includevoidmain(){inta[

8、7]={-1,9,7,3,-100,0,8};inti,*p;clrscr();p=a;for

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

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

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