我目前正在学习 C++,如果我看起来有点傻,很抱歉。
我目前坚持的练习要求我编写一个函数 IndexArray(int n),它返回一个指向具有 n 个元素的动态分配的整数数组的指针,每个元素都初始化为自己的索引。(从工作表复制)。
我已经读了好几遍了,并没有完全理解它,但他们举了一个例子:
假设 intPtr 被声明为
int *intPtr;
该声明
intPtr = IndexArray(10);
应该产生以下内存配置:
intPtr -> 0 1 2 3 4 5 6 7 8 9
从这个例子我猜我的函数需要创建一个大小为 n 的数组,值从 0 到 n-1,然后另一个指针需要指向该数组。
这是他们的测试代码:
int *values1;
values1 = IndexArray(10);
我知道如何轻松创建数组,但我对指针的理解还不够充分,无法真正知道该怎么做。我认为返回一个数组会起作用:
int *IndexArray(int n) {
cout << n << endl;
int arrayTemp[n];
for(int i = 0; i < n; i++) {
arrayTemp[i] = i;
}
return arrayTemp;
}
但是,在测试时,values1 数组不包含 0-9 的值(尽管 arrayTemp 在它返回之前就包含了)。
任何帮助都会很棒,希望我已经提供了您需要帮助的一切。谢谢!:D