动态内存空间的申请示范

时间:2022-06-24 22:52:14 请示范文 我要投稿
  • 相关推荐

动态内存空间的申请示范

  利用C++的特性,能够自定义空间的类型大小和空间长度

  下面这个程序是个数组动态配置的简单示例

  复制代码 代码如下:

  #include

  using namespace std;

  int main()

  { int size = 0;

  cout << "请输入数组长度:"; //能够自定义的动态申请空间长度

  cin >> size;

  int *arr_Point = new int[size];

  cout << "指定元素值:" << endl;

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

  { cout << "arr[" << i << "] = ";

  cin >> *(arr_Point+i);

  }

  cout << "显示元素值:" << endl;

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

  { cout << "arr[" << i << "] = " << *(arr_Point+i)

  << endl;

  }

   [] arr_Point;

  return 0;

  }

  执行结果:

  复制代码 代码如下:

  请输入数组长度:5

  指定元素值:

  arr[0] = 1

  arr[1] = 2

  arr[2] = 3

  arr[3] = 4

  arr[4] = 5

  显示元素值:

  arr[0] = 1

  arr[1] = 2

  arr[2] = 3

  arr[3] = 4

  arr[4] = 5

  可以使用指针来仿真二维数组,只要清楚二维数组中的两个维度的索引值之位移量就可以

  复制代码 代码如下:

  #include

  using namespace std;

  int main()

  { int m = 0;

  int n = 0;

  cout << "输入二维数组维度:";

  cin >> m >> n;

  int *ptr = new int[m*n];

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

  { for(int j = 0; j < n; j++)

  { *(ptr + n*i + j) = i+j;

  }

  }

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

  { for(int j = 0; j < n; j++)

  { cout << *(ptr+n*i+j) << "t";

  }

  cout << endl;

  }

   [] ptr;

  return 0;

  }