C++での配列に関する練習用の質問
配列 は、伝染性のメモリ位置にデータを格納するデータ構造です。
配列の宣言
Declaring arrays is done by the following syntax : int 1D[] - for 1-D array int 2D[][] - for 2-D array
少ない要素数で配列を初期化すると、残りは0で初期化されます。
配列の要素のメモリアドレス
1-D array : address[i] = baseAddress + i*size 2-D array (row major) : address[i][j] = baseAddress + (i*n + j) * size
それでは、練習の問題を見てみましょう
次のコードスニペットの出力を予測します
int arr[5] = {6, 9}; for(int i = 0; i<5; i++) cout<<arr[i]<<" ";
出力
6 9 0 0 0
配列は2つの値で初期化され、残りの値は0として初期化され、出力に反映されます。
int arr[][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; cout<<arr[1][2];
出力
6
整数配列の指定された要素のアドレスを見つけます。ベースアドレスが1420の場合。
1D array : arr[43] address = 1420 + 43*2 = 1506 2D array of size arr[10][10] : arr[5][4], stored as row major address = 1420 + (5*10 + 4)*2 = 1420 + (54)*2 = 1528.
-
C /C++での多次元配列の初期化
多次元配列では、配列の次元は1より大きい必要があります。次の図は、次元が3 x 3x3の多次元配列のメモリ割り当て戦略を示しています。 これは、多次元配列を初期化するためのC++プログラムです。 アルゴリズム Begin Initialize the elements of a multidimensional array. Print the size of the array. Display the content of the array. End 例 #include<iostream>
-
Cの多次元配列
ここに多次元配列が表示されます。配列は基本的に同種のデータのセットです。それらは連続したメモリ位置に配置されます。さまざまなケースで、配列が1次元ではないことがわかります。 2次元または多次元の形式で配列を作成する必要がある場合があります。 多次元配列は、2つの異なるアプローチで表すことができます。これらは行メジャーアプローチであり、もう1つは列メジャーアプローチです。 r行c列の2次元配列を考えてみましょう。配列内の要素の数はn=r*cです。 0≤i