- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程序的设计实践6 指针
面向对象程序设计与实践
第六讲 指针
李衷怡
wendan_li@hust.edu.cn
指针的概念
200
204
208
……
2000
2004
2008
……
3
5
2
……
200
204
208
……
i
j
k
pi
pj
pk
int* pi;//定义指向整形的指针
pi = i;//指针指向变量i
*pi = 5;//通过指针访问变量
指针定义与使用
void main( )
{
int age = 20;
int* p = age; //不能写成 int *p = age;
cout age = age endl;
cout *p = *p endl;
cout p = p endl;
cout p = p endl;
*p = 5; cout *p = *p endl;
}
类型标识符 * 指针变量名 [= 地址值];
指针作为函数参数
//按大小输出两个数
void swap(int* p1, int* p2);
int main( )
{
int a, b;
cin a b;
int* pa = a, *pb = b;
if(a b)
swap(pa, pb);
cout max = a min = b;
cout max = *pa min = *pb;
return 0;
}
指针作为函数参数
void swap(int* p1, int* p2)
{
int temp = *p1; *p1 = *p2; *p2 = temp;
}
a
200
3
b
300
5
pa
5000
200
pb
6000
300
a
200
5
p1
7000
200
b
300
3
p2
8000
300
指针作为函数参数
void swap(int* p1, int* p2)
{
int* temp = p1; p1 = p2; p2 = temp;
}
a
200
3
b
300
5
pa
5000
200
pb
6000
300
a
200
3
p1
7000
300
b
300
5
p2
8000
200
DemoSwap
数组与指针
int* p = a; int* p = a[0];
200
204
208
a[]
3
5
2
p
200
p + 1
?
204
数组与指针
#include iostream
using namespace std;
int main( )
{
int a[10];
cout Pls input 10 numbers: endl;
for(int i = 0; i 10; i++)
cin *(a + i);
cout endl;
for(int* p = a; p a + 10; p++)
cout p : *p endl;
return 0;
}
多维数组与指针
a[3][4]
1
3
5
7
a[0]
9
11
13
15
a[1]
17
19
21
23
a[2]
a = {a[0], a[1], a[2]};
多维数组与指针
#include iostream
using namespace std;
int main( )
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int* p1 = a[0];//指向整形的指针
output(p1, 12);
int* p2[3] = {a[0], a[1], a[2]};//指针数组
output(p2, 4);
int (*p3)[4] = a;//指向数组的指针
output(p3, 3);
return 0;
}
多维数组与指针
void output(int* p, int n)
{
for(int i = 0; i n; i++)
cout *(p + i) ;
cout endl;
}
1
3
5
7
9
11
13
15
17
19
21
23
↑
↑
p
p+1
多维数组与指针
void output(int* p[3], int n)
{
for(int i = 0; i 3; i++)
for(int j = 0; j n; j++)
cout *(*(p + i) + j) ;
cout endl;
}
1
3
5
7
9
11
13
15
17
1
您可能关注的文档
- 陕西省建筑工程施工质量验收技术的资料统一用表.doc
- 陕西省榆林市“数字榆林”建设的项目可行性的研究的报告.doc
- 陈设艺术在室内的设计中的应用的研究——以“Agora休闲吧”为例.doc
- 陕北山地枣树微灌土壤水分入渗特性与耗水规律试验的研究.doc
- 陕西商洛市通江未来城商业综合体营销的策略的方案191PPT2009年.ppt
- 陕西省西安市高新一中2014届高三下学期第十次大练习历史试题含的答案.doc
- 陕西省西安市高新一中2014届高三下学期第十一次大练习地理试题含的答案.doc
- 陕西省西安市高新一中2014届高三下学期第十次大练习数学.doc
- 陕西省西安市高新一中2014届高三下学期第十次大练习物理试题含的答案.doc
- 陕西省西安铁一中铁一中国际合作学校2014届高三下学期四月月考英语试题 含的答案.doc
最近下载
- 测量设备领用登记表.doc VIP
- 脑栓塞的护理ppt.pptx VIP
- GB 6675.4-2014 玩具安全 第4部分:特定元素的迁移.docx VIP
- 婴幼儿消化系统的生理特点.ppt VIP
- 安徽省合肥市第四十六中学2024—2025学年上学期第一次月考九年级数学试题.docx VIP
- 2025至2030大功率柴油发电机组行业产业运行态势及投资规划深度研究报告.docx
- 陕西金太阳2025年9月高三联考15C英语(含答案).docx
- CS5038具有14A开关的22V输出、大电流DC-DC升压IC.pdf VIP
- 在线网课学堂《信息安全技术》单元考核测试答案.docx VIP
- 光学经纬仪检定规程(JJG 414-2011).pdf
文档评论(0)