网站大量收购闲置独家精品文档,联系QQ:2885784924

上海交大C++课件讲述.ppt

  1. 1、本文档共591页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海交大C课件讲述

指针作为函数参数和返回值 指针作为函数参数 数组名作为函数参数 返回指针的函数 引用和引用传递 返回引用的函数 返回引用的函数的主要用途 将函数用于赋值运算符的左边,即作为左值。 int a[] = {1, 3, 5, 7, 9}; int index(int); //声明返回引用的函数 void main() { index(2) = 25; //将a[2]重新赋值为25 cout index(2);} int index(int j) { return a[j]; } //函数是a[j]的一个引用 第7章 间接访问—指针 指针的概念 指针运算与数组 动态内存分配 字符串再讨论 指针作为函数参数和返回值 指针数组与多级指针 指向多维数组的指针 指向函数的指针 指针数组与多级指针 指针数组 Main函数的参数 多级指针 指针数组 地址本身也是数据,他们也可以像其他数据一样组织成一个数组 一个数组,如果他的元素均为指针,则称为指针数组 一维指针数组的定义形式: 类型名 *数组名[数组长度]; 例如,char *String[10]; 定义了一个名为String的指针数组,该数组有10个元素,数组的每个成员是一个指向字符的指针 指针数组的应用 字符串可以用一个指向字符的指针表示,一组字符串可以用一个指向字符的指针数组来表示 例:写一个函数用二分法查找某一个城市在城市表中是否出现。用递归实现 关键问题: 城市表的存储:用指向字符的指针数组 查找时的比较:用字符串比较函数 //该函数用二分查找在cityTable中查找cityName是否出现 //lh和rh表示查找范围,返回出现的位置 Int binarySearch(char *cityTable[], int lh, int rh, char *cityName) {int mid, result; if (lh = rh) { mid =(lh+rh)/2; result= strcmp(cityTable[mid], cityName); if (result == 0) return mid; //找到 else if (result 0) return binarySearch(cityTable, lh, mid-1, cityName); else return binarySearch(cityTable, mid+1, rh,cityName); } return -1; //没有找到 } 函数的应用 #include iostream using namespace std; int binarySearch(char *cityTable[], int lh, int rh, char *cityName); int main() {char *string[10] = {aaa, bbb, ccc, ddd, eee, fff, ggg, hhh, iii,jjj}; char tmp[10];; while (cin tmp) cout binarySearch(string, 0, 9, tmp) endl; return 0; } “aaa” “bbb” “ccc” “ddd” “eee” “fff” “ggg” “hhh” “iii” “jjj” 指针数组与多级指针 指针数组 Main函数的参数 多级指针 main函数的形参 如需要实现:copy a b之类的功能,可以用带有参数的main函数来实现 main函数有二个形式参数: int argc, char *argv[ ] argc – 参数的数目(包括命令名本身) argv[ ]—指向每个参数的指针,是一个指向字符串的指针数组 把参数传递给main() #include stdio.h int main(int argc, char *argv[]) { int i; cout argc=“ argc endl; for(i=0; iargc; ++i) cout argv[“ i “]=“ argv[i] endl; return 0; } 假设生成的执行文件myprogram.exe 把参数传递给main(

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档