gpt4 book ai didi

c++函数创建一个二维数组并返回指向二维数组的指针

转载 作者:太空宇宙 更新时间:2023-11-04 13:27:18 24 4
gpt4 key购买 nike

我是 C++ 新手,正在学习使用指针和数组。我很难处理一段正在编译的代码并且似乎正在做它应该做的事情,除了主函数中指针的输出似乎是一个内存地址,所以我一定是在我的方式中遗漏了一些东西正在调用或返回指针。 (我希望我的术语正确)

在我的主函数中,我创建了一个指针变量并将其初始化为空(教授建议初始化所有变量)

int** ptr1=NULL;

接下来我将指针设置为我的函数,它创建了数组

ptr1 = makeArray1();

这是我的函数的代码。

int** makeArray1()

{

const int ROW = 2;
const int COL = 3;

int** array1 = new int* [ROW]; //This creates the first row of cols
for (int i = 0; i < ROW; i++)
{
array1[i] = new int[COL]; //loop to create next col of all rows
}

for (int i = 0; i < ROW; i++)
{
for (int j = 0; j < COL; j++)
{
cout << endl << "Please enter an integer in the first matrix: ";
cin >> array1[i][j];
}
}

cout << endl;

for (int i = 0; i < ROW;i++)
{
for (int j = 0; j < COL; j++)
{
cout << setw(4) << array1[i][j];
}
cout << endl;
}
cout << endl << endl << "In array 2 array2 = " << *array1;

return array1;

数组似乎可以很好地填充我的输入,但是当我在主函数中打印 ptr1 时,它返回一个内存地址而不是输入到数组中的数字。

如有任何帮助,我们将不胜感激。

最佳答案

打印指针将打印指针的值。这是一个内存地址。如果您想查看二维数组开头的值,您需要取消引用指针。

关于c++函数创建一个二维数组并返回指向二维数组的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32919053/

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