昆工C语言-c语言第五讲.ppt
《昆工C语言-c语言第五讲.ppt》由会员分享,可在线阅读,更多相关《昆工C语言-c语言第五讲.ppt(42页珍藏版)》请在三一文库上搜索。
1、授课教师:杨瑾 ,c语言第五讲,int a=6,*p,*q;,指针复习,p=,6,a,p,q,2001,4001,6001,问:,p的值( ) *p的值() *(&a)的值(),q的值( ) *q的值() *q的值(),引用方式: a, *p, *q, *(&a),引用方式: p, *q,1,int *p=NULL,a=6;,指针复习,6,NULL,a,p,2001,4001,*p=8 不合法 不能通过空指针访问存储单元,p= *p=8 合法 给空指针重新赋值,指向变量a,在通过*p间接访问a. *p等价于a,1,引入:int a=6,b=7 ,*p=,指针变量加1:p+1 含义是指向紧接着的
2、下 一个存储单元b。 p的值为变量a的地址,即2001. p+1的值为变量b的地址,即2003,一维数组和指针,P+1,引用方式: a, *p, *(&a),引用方式: b, *(p+1), *(&b),数组名a代表数组a5的首地址,即a0的地址。,int a5;,一维数组和指针,引用方法,a,a0,a3,a4,a2,a1,a+1,a+i,main( ) int a5,i; for(i=0;i5;i+) scanf(“%d“,a+i); printf(“n“); for(i=0; i5;i+) printf(“%d“,*(a+i); ,课本p169 例2,一维数组和指针,a,a+i,指针变量p
3、加下标代表该指针指向的具体的存储单元 如:p0等价于数组元素a0, p1等价于a1,int a5; int *p=a 或 int *p=&a0,一维数组和指针,引用方法,a0,a3,a4,a2,a1,p+1,p+i,p,课本p169 例1,一维数组和指针,main( ) int a5,i,*p ; for(i=0,p=a;i5;i+) scanf(“%d“,p+i); printf(“n“); for(p=a; pa+5;p+) printf(“%d“,*p); ,p+1,p+i,p,a0,a3,a4,a2,a1,注意:p:指针变量,可以重新赋值,如p=&a2 a:指针常量,永远指向第一个数组
4、元素。不能重新赋值。 如:a+ *a+ 不合法,int a5; int *p=a 或 int *p=&a0,一维数组和指针,引用方法,p,a,p,课本p170 例3,一维数组和指针,main( ) int a5=1,2,3,4,5,6,7,8,9,10; int *p= ,p,q,课本p170 例4,一维数组和指针,main( ) int i ,s=0,t=1,2,3,4,5,6,7,8,9; for(i=0;i9;i+=2) s+=*(t+i); printf(“%dn“,s); ,习题p50 13,一维数组和指针,main( ) int a10=1,2,3,4,5,6,7,8,9,10,*
5、p=a; printf(“%dn“,*(p+2); ,p,P+2,一维数组和指针,main( ) int a10=2,4,6,8,10,y=0,x,*p; p= ,p,习题p50 15,p1等价于*(p+1) px等价于*(p+x),课本p169 例1,一维数组和指针,main( ) int a5=1,2,3,4,5,6,7,8,9,10; int *p= ,p,q,数组a可看成是具有两个数组元素a0,a1的一维数组,而a0,a1有分别是具有三个数组元素的一维数组。,int a24;,二维数组和指针,a0,a1,a,a0,a0+1,a1+1,引用方法: a11,*(&a11), *(a1+1)
6、, *(a0+5),int a24;,二维数组和指针,a0,a1,a,p+1,int *p=,p,p等价于a0, p+1等价于a0+1, p+2等价于a0+2, p+3等价于a1, p+4等价于a0+1, p+5等价于a1+2, p0等价于a00, , p2等价于a02,引用方法: a11,*(&a11), *(a1+1),*(p+5) *(a0+5), p5,int a24;,二维数组和指针,a0,a1,a,引用方法: a11,*(&a11), *(a1+1),*(p+5) *(a0+5), p5, *(*(a+1)+1),如何用二维数组名a引用数组元素?,a+1,a等价于&a0,a+1等价
7、于&a1,*a等价于a0,*(a+1)等价于a1,指针数组:类型名 *指针数组名常量表达式 int *p2; int a24;,二维数组和指针,p,引用方法:*(p1+1), *(*(p+1)+1), p11(指针变量加下标代表它所指向的具体存储单元),p+1,p0等价于&a00,p等价于&p0,p+1等价于&p1,p1等价于&a10,行指针:类型名 (*指针数组名)常量表达式 int (*p)2; int a32; p=a;,二维数组和指针,p,引用方法:*(p1+1), *(*(p+1)+1), p11,p+1,p+2,注意:区分 int *p2; int (*p)2,main( ) in
8、t a33,*p,i; p= ,习题p51 23,二维数组和指针,p,注意指针变量名加下标的含义。,main( ) int a33,*p,i; p= ,习题p51 24,二维数组和指针,p,注意指针变量名加下标的含义。,main( ) int a32=0,(*ptr)2,i,j; for(i=0;i2;i+) ptr=a+i; scanf(“%d”,*ptr); ptr+; for(i=0;i3;i+) for(j=0;j2;j+) printf(“%2d”,aij); printf(“n”); ,习题p51 25,二维数组和指针,ptr,main( ) int a3=1,2,3,4,5,0,
9、(*pa)3,i; pa=a; for(i=0;i3;i+) if(i2) pa1i=pa1i-1; else pa1i=1; printf(“%d”,a01+a11+ a12); ,习题p51 31,二维数组和指针,ptr,void fun(int x,int y) int t=0; if(xy) t=x;x=y;y=t; main( ) int a=1,2,3,4,5,s=0; fun(a3,a2); printf(“%d,%d”,a2,a3); ,1.一维数组元素作实参,数组和函数,int fun(int *x,int n) int i,sum=0; for(i=0;in;i+) sum
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 昆工 语言 第五
链接地址:https://www.31doc.com/p-2250188.html