版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
指针数组与多级指针指针的使用指针数组概念数组的所有元素都是指针类型数据(指针变量)定义形式类型名*数组名[元素个数];例如char*name[10];具体应用一般用于处理一组字符串数据指针数组例char*name[]={"Tom","Mike","Mary","Peter"};name[0]name[1]name[2]name[3]Tom\0Mike\0Mary\0Peter\0输出每个字符串:for(i=0;i<4;i++)puts(name[i]);【例1:】将若干字符串按字母顺序(由小到大)输出解题思路定义一个指针数组name,用各字符串对它进行初始化,即把各字符串中第1个字符的地址赋给指针数组的各元素然后用选择法排序,但不是移动字符串,而是改变指针数组的各元素的指向程序实现#include<stdio.h>#include<string.h>voidmain(){voidsort(char*name[],intn);
voidprint(char*name[],intn);char*name[]={"Followme","BASIC","GreatWall","FORTRAN","Computerdesign"};intn=5;
sort(name,n);//调用sort函数,对字符串排序
print(name,n);//调用print函数,输出字符串}voidsort(char*name[],intn){char*temp;inti,j,k;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(strcmp(name[k],name[j])>0)k=j;if(k!=i){temp=name[i];name[i]=name[k];name[k]=temp;}}}voidprint(char*name[],intn){inti;for(i=0;i<n;i++)printf("%s\n",name[i];}排序后排序前指针数组与数组指针的比较int*p[3];①表明p是数组②表明p中的单元都是指针③表明p中的单元都是int型的指针指针数组
int(*p)[3];①表明p是指针变量②表明p指向的是长度为3的数组③表明p指向的是int型数组数组指针指针数组二维数组指针变量定义int*p[20];int(*p)[20];变量性质p是数组名,不是指针变量,不可对p赋值P是指针变量,不是数组名,可对p赋值指向指针的指针---多级指针一级指针:指针变量中存放目标变量的地址
int*p;
inti=3;p=&i;*p=5;例&i3P(指针变量)i(整型变量)一级指针单级间接寻址二级指针:指针变量中存放一级指针变量的地址
int**p1;
int*p2;inti=3;p2=&i;p1=&p2;**p1=5;例p1&p2&i3P2(指针变量)i(整型变量)二级指针一级指针目标变量二级间接寻址定义形式:[存储类型]数据类型**指针变量名;指针本身的存储类型最终目标变量的数据类型如果:char*name[]={"Followme"……};
char**p;p=name+2;
则:printf(“%s\n”,*p);输出:GreatWallname[0]name[1]name[2]name[3]name[4]nameGreatWallFORTRANComputerFollowmeBASICnamep说明一级指针变量只能取得普通变量的地址,二级指针变量只能取得一级指针变量的地址,三级、四级指针变量以此类推……即:一个n级的指针变量只允许指向一个n-1级的指针变量单元二级指针变量主要用于处理多个字符串【例2:】用二级指针变量处理字符串#include<stdio.h>voidmain(){char*name[]={"Followme","BASIC","GreatWall","FORTRAN","Computerdesign"};char**p;inti;for(i=0;i<5;i++){p=name+i;printf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电光源外部件制造工安全专项考核试卷含答案
- 叉车司机岗前基础管理考核试卷含答案
- 健康管理师岗前安全理论考核试卷含答案
- DB15-T 4520-2026 雷电易发区内的旅游景点防雷安全隐患排查规程
- 2026年春招:中国铝业真题及答案
- 工业窑炉核心试题及准确答案
- 演唱《中华人民共和国国歌》教学设计-2026-2027学年苏少版(简谱)(新教材)小学音乐四年级上册
- 家庭签约学习试题及答案
- 建筑项目施工现场围挡文明施工规定
- 门面物业转让合同范本
- 教师数字化培训课件
- 《临床护理技术规范 第5部分:成人危重症患者有创机械通气气道湿化(报批稿)》
- 河北2025年语文会考试题及答案
- 铁通代理合同协议书
- 中小学体育课程重点教学案例
- 2026年秋学期部编版初中语文七年级上册教学计划教学进度表
- Unit2Numbers(课件)-新交际英语一年级上册
- (正式版)DB65∕T 3844-2016 《雪菊收购分级质量要求》
- 封顶仪式流程及主持稿范例
- 2024年新人教版一年级上册数学课件 第一单元5以内数的认识和加、减法 2. 1~5的加、减法 第1课时加法
- 销售策略的反思与展望
评论
0/150
提交评论