私は現在C++を学んでいるので、少しばかげているように見えたらごめんなさい。
私が立ち往生している現在の演習では、動的に割り当てられた n 個の要素を持つ整数配列へのポインターを返す関数 IndexArray(int n) を作成する必要があります。各配列は独自のインデックスに初期化されます。(ワークシートからコピー)。
私はこれを何度か読んだことがありますが、完全には理解していませんが、例を示しました。
intPtr が次のように宣言されていると仮定します
int *intPtr;
声明
intPtr = IndexArray(10);
次のメモリ構成を生成する必要があります。
intPtr -> 0 1 2 3 4 5 6 7 8 9
この例から、私の関数は 0 から n-1 までの値を持つサイズ n の配列を作成する必要があり、別のポインターがその配列を指す必要があると推測しています。
テストコードは次のとおりです。
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