/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: array.cpp
* 作 者:赵振凯
* 完成日期:2013年12月11日
* 版本号: v1.0
* 输入描述:无
* 问题描述:指针+数组。
*/
#include<iostream>
using namespace std;
int main()
{
int a=2, b=3, c[5]= {1,2,3,4,5};
int *p1, *p2, *p3;
p1=&a;//*p1=2
p2=&b;//*p2=3
p3=c;//将数组c[5]整体赋给p3,同时p3=1。
p3++;//p3++意味着此时*p3=2,并保存着c[1]的地址。
(*p3)+=10;//*p3=*p3+10,所以*p3=12。
cout<<a<<'\t'<<b<<'\t'<<c[1]<<endl;
//a,b的值一直没变,由于起始*p3保存的[1]的地址所以[1]=12.
cout<<*p1<<'\t'<<*p2<<'\t'<<*p3<<endl;//同上。
return 0;
}
运行结果:
心得体会:
犯了个致命的错误就是把数组起始当成了C[1],费了些脑力。。