Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2097419
  • 博文数量: 414
  • 博客积分: 10312
  • 博客等级: 上将
  • 技术积分: 4921
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-31 01:49
文章分类

全部博文(414)

文章存档

2011年(1)

2010年(29)

2009年(82)

2008年(301)

2007年(1)

分类: C/C++

2009-02-18 20:34:12

在c++中时不能像java中一样定义这样的数组 int[] arr = new int[],如果我们要根据程序的运行来实现动态数组在c++中利用指针这个好东东。

动态一维数组:
#include
using namespace std;
int main()
{
     int len;
     cin>>len;
     int *p=new int[len];
     delete[] p;
     p = NULL;
     return 0;
}
动态二维数组:
int main()
{
     int row, col;
     cout << "Please enter the number for row and column: " << endl;
     cin >> row >>col;

     //为二维数组开辟空间
     int **p = new int*[row];
     for (int i = 0;  i < row;  i++)
    {
          p[i] = new int[col];
    }

     for (int j = 0;j < row; j++)
     {
          for (int k = 0; k < col; k++)
          {
               p[j][k] = (j + 1) * (k + 1);
               cout << p[j][k] << &p[j][k];
          }
          cout<     }

     //释放二维数组占用的空间
     for (int m = 0; m < row; m++)
    {
          delete[] p[m];
    }
    delete[] p;
    p = NULL;
    return 0;
}
当然要利用指针也可以实现多维数组,但是这是应该利用STL中的vector更简单。
在c++中时不能像java中一样定义这样的数组 int[] arr = new int[],如果我们要根据程序的运行来实现动态数组在c++中利用指针这个好东东。

动态一维数组:
#include
using namespace std;
int main()
{
     int len;
     cin>>len;
     int *p=new int[len];
     delete[] p;
     p = NULL;
     return 0;
}
动态二维数组:
int main()
{
     int row, col;
     cout << "Please enter the number for row and column: " << endl;
     cin >> row >>col;

     //为二维数组开辟空间
     int **p = new int*[row];
     for (int i = 0;  i < row;  i++)
    {
          p[i] = new int[col];
    }

     for (int j = 0;j < row; j++)
     {
          for (int k = 0; k < col; k++)
          {
               p[j][k] = (j + 1) * (k + 1);
               cout << p[j][k] << &p[j][k];
          }
          cout<     }

     //释放二维数组占用的空间
     for (int m = 0; m < row; m++)
    {
          delete[] p[m];
    }
    delete[] p;
    p = NULL;
    return 0;
}
当然要利用指针也可以实现多维数组,但是这是应该利用STL中的vector更简单。
阅读(1568) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~