luqingfei@C++

为中华之崛起而崛起!
兼听则明,偏听则暗。

关于指针的指针的应用练习

题目:
二维数组是数组的数组,而数组可以通过指针动态创建。如果动态创建的数组元素也是指针,数组中的每个元素就都可以存储数组的地址。使用这个概念,创建一个数组,其中包含三个数组指针,每个数组都可以包含六个int类型的值。把第一个整数数组的值设置为1到6,下一个数组的元素值设置为第一个数组元素的平方,第三个数组的元素值设置为第一个整数数组元素的立方。输出这三个数组的内容,再释放已分配的内存。

答案:

#include <iostream>
#include 
<iomanip>
#include 
<cmath>
using std::cout;
using std::endl;
using std::cin;
using std::setw;

void main() {
    
const int arrays = 3;
    
const int elements = 6;
    
int** ppint = new int*[arrays];

    
int i=0, j=0;
    
for (i = 0; i < arrays; i++) {
        ppint[i] 
= new int[elements]; // 等价于 *(ppint + i) = new int[elements];
        for (j = 0; j < elements; j++) {
            ppint[i][j] 
= pow((j+1), (i+1)); // 等价于 *(*(ppint + i) + j) = pow((j+1), (i+1));
        }
    }

    
for (i = 0; i < arrays; i++) {
        
for (j = 0; j < elements; j++) {
            cout 
<< setw(4<< *(*(ppint + i) + j);
        }
        cout 
<< endl;
    }

    
for (i = 0; i < arrays; i++
        delete [] 
*(ppint + i);

    delete [] ppint;
}

输出结果:
   1   2   3   4   5   6
   
1   4   9  16  25  36
   
1   8  27  64 125 216

posted on 2009-02-06 13:53 luqingfei 阅读(270) 评论(0)  编辑 收藏 引用 所属分类: C++基础


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2009年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

统计

留言簿(6)

随笔分类(109)

随笔档案(105)

Blogers

Game

Life

NodeJs

Python

Useful Webs

大牛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜