gpt4 book ai didi

c++ - int 指针数组

转载 作者:行者123 更新时间:2023-11-28 02:40:56 25 4
gpt4 key购买 nike

我遇到了这个问题:

In the declaration below , p is a pointer to an array of 5 int pointers.

int *(*p)[5];

which of the following statements can be used to allocate memory for the first dimension in order to make p an array of 3 arrays of 5 pointers to type int ?

A. p = new int [3][5]*;

B. p = new int (*)[3][5];

C. p = new int [3]*[5];

D. p = new int *[3][5];

E. p = new int (* [3] ) [5];

答案是什么?

我不确定我是否理解这个问题。通常我会创建一个指向 5 int 数组的指针 int* p[5]; 我很好奇为什么他们这样做是 int *(*p)[5] ;

还有这个问题想要什么?是否要求初始化(分配内存)到前 3 个 int 指针?如果有人能向我解释一下,我将不胜感激

最佳答案

女:

using IPA5 = int*[5];

IPA5 * p = new IPA5[3];

每个元素 p[0]p[1]p[2] 只是一个普通的类型化数组 整数*。除了初始动态分配之外没有任何动态发生,其中 3 被允许是一个动态数量。

那么 p[0][i] 对于 [0, 5) 中的 i 是一个 int *,您可以按照自己喜欢的任何方式使用它(包括使其指向另一个动态数组的第一个元素)。

关于c++ - int 指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26028070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com