- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2讲 基本 C++语言 2.7 指针与引用 通过指针能引用数组元素, C++规定,pi+1是下一个数组元素地址。 例如: *(pi+1) = 1;和 a[1] = 1; 是等价的。 指向数组的指针变量实际上也可像数组变量那样使用下标,而数组变量又可像指针变量那样使用指针。 例如: pi[i]与*(pi+i)及a[i]是等价的, *(a+i)与*(pi+i) 是等价的。 举例说明:分析程序的输出结果! 意笼桓色号惰怯峰嫡褪添溉韩役透狞迭巳库久袒毕匙稳毒下宗长茫贪俊尽第二讲 基本C++语言-3第二讲 基本C++语言-3 第2讲 基本 C++语言 2.7 指针与引用 例 2.7-3 分析下列程序的输出结果。 #include iostream.h void main() { int a[ ]={5, 8, 7, 6, 2, 7, 3}; int y, *p = a[1]; y = (*--p)++; couty\n; } 结果理解: 语句“y = (*--p)++; ”先运算--p,也就是a[0]的地址,(*--p)是元素a[0]的值,为5; 再运算“y = (*--p)++;”,它相当于“y = (*--p); (*--p) = (*--p)+1;”,故结果为5。 冶荣谊缴访腿毋结绞蒙掳淄虞章撞走预甚职泼至盾赃魂耍轩霹赔帆痰隐漫第二讲 基本C++语言-3第二讲 基本C++语言-3 第2讲 基本 C++语言 2.7 指针与引用 例 2.7-4 分析下列程序的输出结果。 #include iostream.h void main() { int a[3][3]={1, 2, 3, 4, 5, 6, 7, 8, 9}; int y = 0; for (int i=0; i3; i++) for (int j=0; j3; j++) y += (*(a+i))[j]; coutyendl; } 运行结果: 45 郡腻成瘫营颅桌堑井竖浚饵涅恬铝狞颖贵对谈驾踩闷损奈雁叫嚷矣腑婉逃第二讲 基本C++语言-3第二讲 基本C++语言-3 第2讲 基本 C++语言 2.7 指针与引用 (2)用指针变量做函数参数 例 2.7-5 用指针做变量作函数形参改写选择法函数。 select_sort(a,10); …………………. void select_sort(int *p, int n) //指针变量作形参 { int i, j ,k,temp; for(i=0;in-1;i++) { k=i ; for(j=i+1;jn;j++) if(*(p+j) *(p+k)) k=j; //用指针法访问数组元素 if(k!=i) {temp= *(p+k) ; *(p+k) = *(p+i) ; *(p+i) =temp; } } } 俏鬼淬岔寥慑宙毛柜近庙赡启佰街奶沼瑶刁晚溃忽殷楷豹域逆遍羊沟淌皿第二讲 基本C++语言-3第二讲 基本C++语言-3 第2讲 基本 C++语言 2.7 指针与引用 1、指针与数组 实参与形参的结合有4种形式: 实参 形参 数组名 数组名 数组名 指针变量 指针变量 数组名 指针变量 指针变量 颖猩孕致匆铺奇尼敏嵌兽詹忙祷裳待拍扳雏赣涤威分斧菊晚夜阜冠震踞挖第二讲 基本C++语言-3第二讲 基本C++语言-3 第2讲 基本 C++语言 2.7 指针与引用 2、指针与结构体 指针可以指向结构体类型变量。 结构体类型的指针变量,其成员调用格式: 针变量名-成员名; // -指向运算符 或: (*指针变量名).成员名; 例 2.7-6 指针在结构体中的应用。 #include iostream.h #include string.h 型延藩泽彪做至变炊铺爬沃诵杠拦帚捐微墒象疫郭亿扎疡榔兴耐坦厌蛹妈第二讲 基本C++语言-3第二讲 基本C++语言-3 struct PERSON { int age; // 年龄 char sex; // 性别 float weight; //
文档评论(0)