问题及代码
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:辛彬
* 完成日期:2014年 12 月 3 日
* 版 本 号: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;
p2=&b;
p3=c;
p3++;
(*p3)+=10;
cout<<a<<'\t'<<b<<'\t'<<c[1]<<endl;
cout<<*p1<<'\t'<<*p2<<'\t'<<*p3<<endl;
return 0;
}
运行结果:
学习感悟:用单步调试功能后,一个让我印象深刻的地方是p3的地址变化,之前是c[0]的地址,
当p3++后地址改变,变成了c[1]的地址
这让我知道,并不是c[0]的值加了1,而是p3指向的地址前进了,指向了p[1],所以才输出12