欢迎来到天天文库
浏览记录
ID:59421460
大小:1.95 MB
页数:42页
时间:2020-09-19
《C语言程序设计第11章指针和数组ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第11章指针和数组本章学习内容指针与一维数组间的关系,指针与二维数组间的关系向函数传递一维数组和二维数组指针数组,命令行参数动态数组,动态内存分配11.1指针和一维数组间的关系inta[4]={1,2,3,4};0x0037b000a[0]0x0037b0040x0037b0080x0037b00Ba….…...1int*pa=a;paint*pa=&a[0];234a[1]a[2]a[3]数组名是一个常量指针不能修改该指针的指向指针可当数组名使用11.1指针和一维数组间的关系inta[4]={1,
2、2,3,4};0x0037b000a[0]0x0037b0040x0037b0080x0037b00Ba….…...1int*pa=a;paint*pa=&a[0];234a[1]a[2]a[3]数组元素的等价引用形式a[i]*(a+i)pa[i]*(pa+i)a+1*(a+1)pa[0]*(pa+2)pa+2*pa11.1指针和一维数组间的关系inta[4]={1,2,3,4};0x0037b000a[0]0x0037b0040x0037b0080x0037b00Ba….…...1p234a[1]a[2]
3、a[3]for(i=0;i<4;i++)scanf("%d",&a[i]);for(i=0;i<4;i++)printf("%d",a[i]);for(p=a;p<(a+4);p++)scanf("%d",p);for(p=a;p<(a+4);p++)printf("%d",*p);*p*pa+411.1指针和一维数组间的关系【例11.1】演示数组元素的引用方法11.1指针和一维数组间的关系【例11.1】演示数组元素的引用方法11.1指针和一维数组间的关系【例11.2】演示数组和指针变量作函数参数被调函数的
4、形参声明为数组类型,用下标法访问数组元素11.1指针和一维数组间的关系【例11.2】演示数组和指针变量作函数参数被调函数的形参声明为指针类型,用指针法访问数组元素11.1指针和一维数组间的关系【例11.2】演示数组和指针变量作函数参数在主函数中这样做没有多大的实际意义11.2指针和二维数组间的关系可将二维数组看作一维数组,其每个数组元素又是一个一维数组按行顺序存放所有元素a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]a[0]a[1]a[0]+1a[0]+2&a[0][0
5、]&a[1][0]&a[1][1]a[1]+1&a[1][2]&a[0][1]&a[0][2]a[0][0]a[0]a[0][1]a[0][2]a[1][0]a[1]a[1][1]a[1][2]aa[1]+2shorta[2][3];aa+111.2指针和二维数组间的关系a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]a[0][0]a[0]a[0][1]a[0][2]a[1][0]a[1]a[1][1]a[1][2]ashorta[2][3];aa+1a代表二维数组的首地
6、址,第0行的地址,行地址a+i代表第i行的地址但并非增加i个字节!a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]a[0]a[1]&a[0][0]&a[1][0]a[0][0]a[0]a[0][1]a[0][2]a[1][0]a[1]a[1][1]a[1][2]ashorta[2][3];*(a+i)即a[i]代表第i行第0列的地址,列地址aa+1*(a+i)+j即a[i]+j代表第i行第j列的地址&a[i][j]&a[1][2]a[1]+211.2指针和二维数组间的关系
7、a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]a[0]a[1]&a[0][0]&a[1][0]a[0][0]a[0]a[0][1]a[0][2]a[1][0]a[1]a[1][1]a[1][2]ashorta[2][3];aa+1&a[1][2]a[1]+2*(*(a+i)+j)即a[i][j]代表第i行第j列的内容*(a+i)即a[i]代表第i行第0列的地址,列地址*(a+i)+j即a[i]+j代表第i行第j列的地址&a[i][j]11.2指针和二维数组间的关系二维数
8、组的行指针int(*p)[3];p=a;//用行地址初始化逐行查找-〉逐列查找pshorta[2][3];a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]aa+111.2指针和二维数组间的关系二维数组的行指针int(*p)[3];p=a;//用行地址初始化逐行查找-〉逐列查找pshorta[2][3];a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1
此文档下载收益归作者所有