您的位置:首页 > 编程语言 > C语言/C++

c++程序设计书本P360.5

2015-08-24 15:15 351 查看
这是书本的一个习题,代码如下;

#include<iostream>

#include<stdlib.h>

#include<stdio.h>

///#include"nicai.h"

#include<math.h> 

#include<string>

#include<algorithm>

//#include<cmath>

using namespace std;

class nihao 

{

private:

public:
nihao();
char xunzhao;

void bianli();

(int *) data[4];//创建存放指针的指针数组

int *a;//创建四个动态数组

int *b;

int *c;

int *d;

void paixu();

};

/*void nihao::bianli()

{

cout<<"请输入要寻找的学号";

cin>>xunzhao;

for(int i=0;i<3;i++)

{

for(int 

}

};*/

void nihao::paixu()

{cout<<"输入第一位同学的学号";

cin>>*(data[0]+1);

cout<<*(a+1);//这里a只是一个地址,*a就是a地址的内容,

cout<<"输入第二位同学的学号";

cin>>*(data[0]+2);

cout<<"输入第三位同学的学号";

cin>>*(data[1]+2);

cout<<*(data[0]+1);

cout<<*(data[0]+2);

cout<<*(data[1]+2);

}

nihao::nihao()

{ a=new int[5];

b=new int[6];

c=new int [4];

d=new int[3];

data[0]=a;//a是一个指针,也就是一个地址,data是指针数组,本身就是用来存放指针的也就是存放地址。

data[1]=b;

data[2]=c;

data[3]=d;

};

void main()

{

nihao nicai;

//cin>>*(nicai.data[0]);

//cin>>*(nicai.data[1]);

nicai.paixu ();

}

我本来有个疑惑,参考本书的p356的指针运算一章,data[0]+1和data[1]照理说是一样的,可是我忽略了一点。

data[0]=a;

data[1]=b;

data[2]=c;

data[3]=d;

我把abcd的地址分别赋给了data[0].data[1]...就是说data[1]的地址是b的地址与a完全不同。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++