- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计基础第10章指针进阶ppt课件
C语言程序设计基础第10章 指针进阶
刘新国
1
本章要点
指针数组和指向指针的指针
指针作为函数的返回值
指向函数的指针
指向结构的指针
对链表数据结构
2
指针数组
char * color[5] = { “red”, “blue”,
“yellow”, “green”, “black”
};
3
11.1.2 指针数组的概念
首先,它是一个数组
其次,它的元素是指针
定义格式
类型名 *数组名[长度];
遵循数组的定义语法
只不过,元素类型为指针类型
4
指针数组
char * color[5] = { “red”, “blue”,
“yellow”, “green”, “black”
};
for( i=0; i5; i++ )
printf(%d-th color = %s\n, i, color[i]);
5
指针数组
char * color[5] = { “red”, “blue”,
“yellow”, “green”, “black”
};
char *t = color[0];
color[0] = color[4];
color[4] = t;
对一般数组的操作,适合于指针数组
定义,初始化,元素的使用,赋值
6
指向指针的指针(二级指针)
int a = 10;
int *p = a;
int **pp = p;
定义语法格式
类型名 **指针变量名;
7
*p
*pp
**pp
指向指针的指针(二级指针)
二级(多级)指针都是指针
可以应用指针的所有操作
定义、初始化、赋值
和数组结合使用
特殊的是:它指向一个指针
8
三级指针和多级指针
int a = 10, *p= a, **pp = p
三级指针
int ***p3 = pp;
四级指针
int ****p4 = p3;
9
指针数组和二级指针
char * color[5] = { “red”, “blue”,
“yellow”, “green”, “black”
};
数组名color是一指针,
指向首元素color[0]。
char **pc = color;
char str[20];
scanf(“%s”, str);
for ( i=0; i5; i++ )
if( strcmp(str, *(pc+i))==0 ) break;
if(i5) printf(“color id = %d\n”,i);
else printf(“not found\n”);
10
pc[i]
11.1.4 指针数组与二维数组
char ccolor[][7] = { “red”, “blue”,
“yellow”, “green”, “black”
};
char * pcolor[5] = { “red”, “blue”,
“yellow”, “green”, “black”
};
ccolor
11.1.4 指针数组与二维数组
pcolor[i]指向一个字符串,即该字符串首个字符
pcolor[i] + k 则指向该字符串的第k个字符
所以 *(pcolor[i] + k)就是该字符,也可以写作
pcolor[i][k]
注意:pcolor不是二维数组
ccolor
[例11-4] 字符串排序
#define SWAP(a,b,t) t=a,a=b,b=t
void fsort(char* color[], int n)
{
int k, j;
char * tmp;
for( k=1; kn; k++ ) for( j=0; jn-k; j++ )
if( strcmp(color[j],color[j+1])0 )
SWAP (color[j], color[j+1], tmp);
}
主程序
void main()
{
char *pcolor[5]={“red”, blue”,
“yellow”, “green”, “black”};
int k;
fsort(pcolor,5);
for( k=0; k5; k++ )
printf(“%s”, pcolor[k]);
}
[例11-6] 藏头诗解密
void main()
{
char *poem[4]={“一叶轻舟向东流”,“帆梢轻握杨柳手”,
“风纤碧波微起舞”,“顺水任从雅客悠”};
char mean[10];
int i;
for( i=0; i4; i++ )
{
mean[2
您可能关注的文档
- 2011年神经本科(5年制).ppt
- 2012届浙江湘教版学海导航新课标高中总复习(第1轮)地理:模块1必修1第3章第4课常见的热力环流及其成因2.ppt
- 2012大学英语四级考试做题技巧.ppt
- 2011王立福的软件工程课件(自学考试)ppt课件.ppt
- 2012届浙江湘教版学海导航新课标高中总复习(第1轮)地理:模块2必修2第4章第1课_人类面临的主要环境问题ppt课件.ppt
- 2011珠江珠纺城推广方案ppt课件.ppt
- 2012年中考复习建议.ppt
- 2011年杭州捷群珑园传播主题策略提案(198p).ppt
- 2012中国电子商务十大趋势.ppt
- 201303-2012年度企业所得税汇算清缴培训辅导-学习报告.ppt
最近下载
- 明代故宫、孔府旧藏服饰.pdf VIP
- 中考物理总复习《力学》专项练习题(附答案).docx
- 2025年春新人教PEP版英语三年级下册课件 Revision Going to a school fair-第2课时.pptx
- 春节文艺活动劳务合同6篇.docx
- 局领导班子成员之间相互批评意见清单(6).doc VIP
- 2025年1月必威体育精装版版化危为安ccsc每日答题题库和配套答案(持续更新中).docx
- 应用数理统计基础课后习题答案(全)-庄楚强.pdf
- 《民法典》无效合同处理规则适用要点解析.docx
- 农商银行董事会换届工作报告(三年工作总结及下届工作思路).docx
- 2023-2024学年江苏省盐城市高二下学期6月期末考试化学试题(解析版).docx
文档评论(0)