专题7 数组和指针的应用ppt课件.ppt

专题7 数组和指针的应用ppt课件.ppt

ID:59400021

大小:89.50 KB

页数:30页

时间:2020-09-19

专题7  数组和指针的应用ppt课件.ppt_第1页
专题7  数组和指针的应用ppt课件.ppt_第2页
专题7  数组和指针的应用ppt课件.ppt_第3页
专题7  数组和指针的应用ppt课件.ppt_第4页
专题7  数组和指针的应用ppt课件.ppt_第5页
资源描述:

《专题7 数组和指针的应用ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、专题七数组和指针的应用1.一维数组和指针第一个知识点一维数组中数组元素的的地址及其表示方式1.1基本概念:(1)数组的指针:数组的起始地址C语言规定数组名代表数组的首地址,即数组中第一个元素的地址。通常将数组名看作是一个指针常量,即,不能去改变数组名的值。如:inta[10],*p,x;a=&x(×);或者是a++(a=a+1)(×);scanf(“%d”,a);(×)//以上操作都是非法的,因为数组名是一个地址常量(2)数组元素的指针:是指每个数组元素的地址(&a[i])因为一个数组包含若干个元素,且每个元素在内存中占有相同字节数的存储单元。即实际上也是变量,所以数组元素也有地址

2、。1.2表示一维数组各个元素地址的几种方式(1)通过数组元素名表示各个数组元素的地址(最熟悉的方式)表示方式:&a[i]//a[i]其实就是数组中第i个元素的变量名;(a)inta[10];for(i=0;i<10;i++)printf(“%d”,&a[i]);//scanf(“%d”,&a[i]);//该程序段实现将数组元素的每个地址以整型数据形式输出(b)inta[10]={1,2,3,4,5,6,7,8,9,10};for(i=0;i<10;i++)printf(“%d”,a[i]);//该程序段实现将数组元素的值以整型数据形式输出(c)inta[10]={1,2,3,4,5

3、,6,7,8,9,10};for(i=0;i<10;i++)printf(“%d”,*&a[i]);//该程序段实现将数组元素的值以整型数据形式输出(2)通过数组名表示各个数组元素的地址虽然数组名中的内容不能改变,但是可以通过加一个整数来表达数组中不同数组元素的地址(1)inta[10];for(k=0;k<10;k++)scanf(“%d”,a+k);//给每个元素赋值(2)inta[10];for(k=0;k<10;k++)printf(“%d”,*(a+k));//将每个元素输出题目:若有定义:intaa[8];则以下表达式中不能代表数组元aa[1]的地址的是A)&aa[0]

4、+1B)&aa[1]C)&aa[0]++D)aa+1[C](3)通过指针变量来表示数组中各元素的地址可以定义一个指针变量来存放数组的指针或数组元素的指针,且指针变量的基类型就是定义数组时的类型int*p,a[10];for(p=a,k=0;k<10;k++)p++;将数据写入数组元素中几种方式:(1)for(p=a,k=0;k<10;k++){scanf(“%d”,p);p++;}进一步简化:(2)for(p=a,k=0;k<10;k++)scanf(“%d”,p++);再进一步简化:(3)for(p=a,p-a<10;p++)scanf(“%d”,p);以上三种写法是等价的,要掌

5、握,能看懂。第二知识点通过指针来操作数组中的元素的几种表示方式(1)通过数组的首地址引用数组元素inta[10];思考:(1)*(a+0)表示什么意思?*(a+1)??….*(a+i)??实例:for(i=0;i<10;i++)printf(“%4d”,*(a+i));其相当于:for(i=0;i<10;i++)printf(“%4d”,a[i]);//通过引用下标实现(2)*a+1表示什么意思??…*a+i??2、通过指针变量来引用一维数组元素当指针变量指向数组中的某个数组元素时,可以通过“*”来访问其所指向变量的数据。for(p=a,k=0;k<10;k++)printf(“%

6、d”,*(p+k));如果*(p+k)改写成*p+k,又会怎样?其含义相同吗?以上语句等价与:for(k=0;k<10;k++)printf(“%4d”,a[k]);同时也可以通过逐步移动指针来引用数组中的每个元素,逐个输出a数组元素中的值for(p=a,k=0;k<10;k++){printf(“%4d”,*p);p++;}例2、有以下程序main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2; printf("%d",*p+*q); }程序运行后的输出结果是 A)16B)10C)8D)6例1.有如下说明inta[10]=

7、{1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是A)*p+9B)*(p+8)C)*p+=9D)p+8CB第3个知识点指针的算术运算符(1)指针有四个算术运算符“+-++--”(2)移动指针:p++,p--,++p,--p,指针向前或前或移动一个数组元素。(4)计算地址:p+n或p-n,n是一个整数,p+n代表地址计算:p1+c*n;表示p下面的第n个元素的地址,c表示类型符所占的字节,若c为字符型则c=1,若为整型则c=2。(5)++和*、

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

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

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