c ++指针数组和内存地址分配

问题描述 投票:0回答:1

有人可以解释如何动态地实现c ++的指针数组吗?

下面的代码正确吗?

如果是,则>

 int *ptr[5]; 

 for (int i = 0; i < 5; i++)
  {

  int size = 2;

  ptr[i] = new int [size] ;

 //*(ptr + i) = new int[size]; this is the same as above line

  cout << &ptr[i] << endl;   ----------> line 1
  cout << ptr[i] << endl; -----------> line 2
  }

第1行和第2行实际打印什么?

这是我从第1行获得的地址

0x7fff88f805d0
0x7fff88f805d8
0x7fff88f805e0
0x7fff88f805e8
0x7fff88f805f0

这是我从第2行获得的地址

0x55f946348ef0
0x55f946349330
0x55f946349360
0x55f946349390
0x55f9463493c0

有人可以解释一下整个指针数组的混乱情况。

有人可以解释如何动态地执行c ++的指针数组吗?以下代码正确吗?如果是这样,则int * ptr [5]; for(int i = 0; i <5; i ++){int size = 2; ptr [i] = ...

c++ arrays oop pointers memory-address
1个回答
0
投票

我假设您想对动态数组执行操作,例如添加元素和打印;Remember

© www.soinside.com 2019 - 2024. All rights reserved.