在c++中利用指针实现动态数组

王朝c/c++·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

介绍:

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

动态一维数组:

#include<iostream>

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<<endl;

}

//释放二维数组占用的空间

for (int m = 0; m < row; m++)

{

delete[] p[m];

}

delete[] p;

p = NULL;

return 0;

}

当然要利用指针也可以实现多维数组,但是这是应该利用STL中的vector更简单。

author:simahao time:05.1.11

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航