ImageVerifierCode 换一换
你正在下载:

指针1.docx

[预览]
格式:DOCX , 页数:7 ,大小:15.96KB ,
资源ID:28754888      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28754888.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(指针1.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

指针1.docx

1、指针1一、指针、指针变量 二、指针与数组1、 指向数组元素的指针int a10;int *p;可以赋值为: p=&a0 或者 p=a2、 通过指针引用数组元素如果p的初值为&a0,则:(1) p+i 和a+i 就是ai的地址,或者说,它们指向a数组的第i个元素。(2) *(p+i)或*(a+i)是p+i或a+i所指向的数组元素,即ai。(3) 指向数组的指针变量也可以带下标,如pi与*(p+i)。a 下标法。如ai形式。b 指针法。如*(a+i)或者*(p+i)。输出数组中的全部元素。(1) 下标法: #include void main() int a10; int i; for(i=0;i

2、10;i+) scanf(“%d”,&ai); printf(“n”); for(i=0;i10;i+) printf(“%d”,ai); printf(“n”);(2)通过数组名计算数组元素地址,找出元素的值。#include void main() int a10; int i; for(i=0;i10;i+) scanf(“%d”,&ai); printf(“n”); for(i=0;i10;i+) printf(“%d”,*(a+i); printf(“n”);(3)用指针变量指向数组元素。#include void main() int a10; int i,*p; for(i=0;

3、i10;i+)scanf(“%d”,&ai); printf(“n”); for(p=a;p(a+10);p+) printf(“%d”,*p); printf(“n”); 通过指针变量输出a数组的10个元素。 #include void main() int a10,i,*p; p=a; for(i=0;i10;i+)scanf(“%d”,p+); printf(“n”); for(i=0;i10;i+,p+) printf(“%d”,*p); printf(“n”);观察结果对否?三、 用数组名作函数参数例:将数组a中n个整数按相反顺序存放。#include void main()void

4、 inv(int x,int n)int i,a10=3,7,9,11,0,6,7,5,4,2printf(“the original array:n”);for(i=0;i10;i+) printf(“%d,”,ai);printf(“n”);inv(a,10);printf(“the array has been inverted:n”); for(i=0;i10;i+) printf(“%d,”,ai);printf(“n”);void inv(int x,int n) int temp,i,j,m=(n-1)/2;for(i=0;i=m;i+) j=n-1-i;temp=xi; xi=

5、xj;xj=temp;return;或者:void inv(int *x,int n) int *p,temp,*i,*j,m=(n-1)/2;i=x;j=x+n-1;p=x+m;for(;i=p;i+,j-) temp=*i; *i=*j;*j=temp;return;在函数中调用数组中的元素的值,实参与形参的对应关系有4种:(1) 形参和实参都用数组名。(2) 实参用数组名,形参用指针变量。(3) 实参形参都用指针变量。(4) 实参为指针变量,形参为数组名。四、 指针与多维数组 定义: int a34; 可以把它看成3个元素(a0,a1,a2)的一维数组,但每个元素又是一个含有4个元素的一

6、维数组。二维数组的数组名是二维数组的0行首地址;如a+1是跳过一行而不是一个元素。行指针:加1跳过一行的指针;指向一整行。列指针:加1跳一个元素的指针;指向一个元素,并且只有列指针才能指向元素。 二维数组数组名是一个行指针。若a是一个二维数组,则有:(1) a+i是行指针,指向行号为i的一整行,若对它加1则指到下一行;(2) *(a+i)和ai相同,都是一个列指针即指向的是一个元素,若对它们加1则指到下一个元素。即ai0的地址。(3) *(a+i)+j和ai+j相同,都是元素aij的地址,即与&aij等价。(4) *(*(a+i)+j)、*(ai+j)、(*(a+i)j和aij相同,都表示元素

7、aij本身。例:用指针变量输出二维数组元素的值:int a34;int *p;for(p=a0;p=0&*p=9) k= (2) +*p-0; +i; (3) ;return k;2.本函数输入n(1000)个整数到指定数组,求该数组中最大元素的值和此元素的下标,最大元素值以函数值返回,此元素的下标通过指针形参带回调用处。#include #define MAXLINE 1000int maxindex(int a,int *index)int i,n;do print(”please input nn”);scanf(”%d”,&ai); while ( );for(i=0;in;i+)scanf(”%d”,&ai);*index=0;for(i=1;in;i+) if( ) *index=i;return ;3.写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1