第6章-指针.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章-指针

第6章 指针 一. 指针的概念 指针(续) 二. 变量与指针 指针变量的引用——间接访问 指针变量作为函数的参数 三. 数组与指针 指向数组元素指针的运算举例 用指针引用数组元素 应用举例 数组名作为函数实参 数组名作为函数参数(续) 指向多维数组的指针 多维数组的地址 (续) 关于二维数组的等价表示 指向多维数组的指针变量 指向数组的指针作为函数参数 第6章练习-1 四. 字符串与指针 字符串指针与字符数组及string对象的区别(续) 字符串的指针——例子 字符串的指针——实用例子 字符串指针作为函数参数 五. 函数与指针 用函数指针来调用函数(续) 函数指针作为函数的形参 例6.8 (程序) 返回指针值的函数 返回指针值的函数(续) 六. 指针数组和指向指针的指针 指针数组应用举例 例6.11 程序实现 指向指针的指针—多级指针 多级指针的应用举例 命令行参数 七. 引用 引用作为函数参数 函数返回引用变量 第6章练习-2 #include iostream #include cstring using namespace std; void sort (char *ss[ ], int n); void main (void) { char *name[ ] = {Fortran, C++, VBasic, Pascal, Cobol}; int i, n; n = sizeof(name) / sizeof(name[0]); sort (name, n); for (i=0; in; i++) cout name[i] endl; } void sort (char *sp[ ], int n) // Sort strings with bubble method { int i, j, h; char *t; for (i=n-1; i0; i=h) for (h=j=0; ji; j++) if (strcmp (sp[j], sp[j+1]) 0) { t = sp[j]; sp[j] = sp[j+1]; sp[j+1] = t; h = j; } } 第6章 指针 运行程序… 如果字符串不是初始赋值, 怎么办? 稍后介绍动态存储分配. 定义方式: 类型名 **变量名; // 2级指针 指向指针变量的指针, 称为指针的指针(二级指针). 换句话说, 就是指针变量的地址. 指向二级指针的指针称为三级指针. 二级指针的例子 a 0x2000 10 0x2000 pa 0x20e0 pp 0x20e0 …… 如何理解 **pp ? * 是间接引用运算符, *pp??pa (即0x2000), 它又是指针, **pp??*pa, 即变量a 的值. char *ps[5]; 数组ps的每个元素都是指针, 它的地址 ps[i] 或者 ps+i 就是指针的指针. 多级指针的概念与定义 第6章 指针 int **pp, *pa, a=10; pa = a; pp = pa; couta=**ppendl; 内存分配情况如右图. 例6.12 用指针的指针改写例6.11 void sort (char **sp, int n) // Sort string with bubble method { int i, h; char *t, **pp; for (i=n-1; i0; i=h) for (h=0, pp=sp; ppsp+i; pp++) if (strcmp (*pp, *(pp+1)) 0) { t = *pp; *pp = *(pp+1); *(pp+1) = t; h = pp-sp; } } #include iostream #include cstring using namespace std; void sort (char **sp, int n); void main (void) { char *name[ ]={Fortran, C, Ada, Pascal, Cobol}; char **pp=name; int n=sizeof(name) / sizeof(name[0]); sort (pp, n); for (pp=name; ppname+n; pp++) cout *pp endl; } 运行程序… 第6章 指针 命令行的一般形式: 命令 参数1 参数2 … … 参数n 如, 将文件 test1.c 复制到a盘的命令是: 命令 参数1 参数2 copy test1.c a:\ 执行程序如何接收命令行参数 ? m

文档评论(0)

zilaiye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档