首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求教一个指针与数组代码简略的注释

2013-01-11 
求教一个指针与数组代码简单的注释本帖最后由 c123sdn123 于 2013-01-01 15:50:14 编辑初学者,这代码似懂

求教一个指针与数组代码简单的注释
本帖最后由 c123sdn123 于 2013-01-01 15:50:14 编辑 初学者,这代码似懂非懂,求教,加上注释,谢谢!
代码如下

#include "stdafx.h"
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
int a[5]={1,3,5,7,9},*p=a,**k;
k=&p;
cout<<*p<<endl;
cout<<**k<<endl;
cout<<a[0]<<endl;

cout<<*(p++)<<endl; 
cout<<**k<<endl;

    cout<<*(++p)<<endl;
    cout<<**k<<endl;
return 0;
}

[解决办法]
#include "stdafx.h"
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
int a[5]={1,3,5,7,9},*p=a,**k;//定义了一个数组a,指针p只想数组首地址,指针的指针k
k=&p;//让k指向p的地址
cout<<*p<<endl;//打印p指向地址的内容,即a[0],即1
cout<<**k<<endl;//打印k指向地址的内容(即p)指向地址的内容,即a[0],即1
cout<<a[0]<<endl;//打印a[0],即1

cout<<*(p++)<<endl;打印p指向地址的内容,即a[0],然后p增加1,指向a[1] 
cout<<**k<<endl;//打印k指向地址的内容(即p)指向地址的内容,即a[1]

    cout<<*(++p)<<endl;//p先增加1,指向a[2],然后打印*p,即a[2]
    cout<<**k<<endl;//打印**k,即*p,即a[2]
return 0;
}

热点排行