string array c implementation representation with examples
C ++の文字列配列は、文字列の配列です。このチュートリアルでは、C ++での文字列配列の表現と実装の詳細を掘り下げます。
以前のチュートリアルでC ++の配列を見てきました。配列を使用すると、さまざまなタイプのデータ要素を宣言できます。一方、すべての数値データ型の配列は操作と実装が同じであり、文字列データ型の配列は異なります。
職場での困難な状況に対処する方法
C ++では、文字列は文字の配列として、またはC ++でサポートされている文字列クラスを使用して表すことができます。各文字列または配列要素はヌル文字で終了します。 Cには文字列型がないため、文字配列を使用して文字列を表すことは、「C」言語から直接取得されます。
=> 無料のC ++コースについては、ここをクリックしてください。
学習内容:
文字列配列の実装
C ++では、文字列は3つの方法で表すことができます。
- 2次元文字配列の使用: この表現は、各要素が行番号と列番号の共通部分であり、文字列を表す2次元配列を使用します。
- 文字列キーワードの使用: C ++のstringキーワードを使用して、文字列配列を宣言および定義することもできます。
- STLベクターの使用: ベクトルの各要素が文字列であるSTLベクトルを使用できます。
それでは、上記の各メソッドについて説明し、各表現のプログラミング例も見てみましょう。
2次元文字配列の使用
文字列配列または文字列の配列は、特殊な形式の2次元配列を使用して表すことができます。この表現では、文字列型の2次元配列を使用して文字列を表現します。
最初の次元は要素の数、つまりその配列内の文字列を指定し、2番目の次元は配列内の各要素の最大長を指定します。
したがって、以下に示すような一般的な表現を使用できます。
char “stringarrayname” (“number of strings”) (“maximum length of the string”)
例えば、次の宣言を検討してください。
char string_array(10) (20);
上記の宣言は、「string_array」という名前の文字列の配列を宣言しています。この配列には10個の要素があり、各要素の長さは20以下です。
次の方法で、文字列を使用して動物の配列を宣言および初期化できます。
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};
概念をよりよく理解するために、2次元文字配列の概念を使用したプログラミング例を見てみましょう。
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< 出力:

上記のプログラムでは、各要素の最大長を10として、サイズ5のstrArrayと呼ばれる文字列の配列を宣言しました。プログラムでは、配列の各要素を表示するforループを開始します。要素を表示するには、最初の次元を使用して配列にアクセスする必要があることに注意してください。
要素に簡単にアクセスできることは、2次元配列の主な利点の1つです。それらは確かにプログラミングが簡単です。
このタイプの表現の主な欠点は、配列の次元、つまり要素の数と要素の最大長の両方が固定されており、必要に応じて変更できないことです。
次に、配列の宣言時に、各要素の最大長を2番目の次元として指定します。文字列の長さが100として指定されていて、長さが短い要素がすべてある場合、メモリは無駄になります。
文字列キーワードの使用
ここでは、C ++でキーワード「string」を使用して、文字列の配列を宣言します。文字配列とは異なり、ここでは1D配列しかありません。唯一の次元は、配列内の文字列の数を指定します。
stringキーワードを使用した文字列配列宣言の一般的な構文を以下に示します。
string “array name” (“number of strings”);
ここでは文字列の最大長を指定しないことに注意してください。これは、配列要素の長さに制限がないことを意味します。
例として、次の方法で色名の配列を宣言できます。
string colors(5);
以下に示すように、この配列をさらに初期化できます。
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”};
以下に示すのは、stringキーワードと文字列の配列でのその使用法を理解するためのC ++プログラムです。
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< 出力:

以前の文字配列プログラムを変更し、stringキーワードの使用法を示しました。プログラムの出力は同じですが、stringキーワードを使用して文字列の配列を定義するため、達成方法が異なります。
stringキーワードを使用した文字列の配列には、配列内の文字列の長さに制限がないという利点があることに注意してください。制限がないので、メモリスペースも無駄にしません。
欠点として、この配列のサイズは固定されています。事前に配列のサイズを宣言する必要があります。
STLベクトルの使用
動的配列の宣言と定義にSTLベクトルを使用することもできます。したがって、文字列の配列を定義するために、string型のSTLベクトルを持つことができます。
ベクトルを使用した文字列の配列のこの宣言を以下に示します。
vector “stringarray_Name”;
上記の宣言を参照すると、次の方法でベクトル「サブジェクト」を宣言できます。
4年の経験のための手動テスト面接の質問
vector mysubjects;
「push_back」メソッドまたはその他のSTLベクターメソッドを使用して、要素をベクターに割り当てることができることに注意してください。
以下に示すのは、C ++を使用して、文字列の配列を表すSTLベクトルの使用法を示すプログラミング例です。
#include #include using namespace std; int main() { vector myNumbers; myNumbers.push_back('one'); myNumbers.push_back('two'); myNumbers.push_back('three'); myNumbers.push_back('four'); myNumbers.push_back('five'); cout<<'String array is as follows:'< 出力:

上記のプログラムには、文字列型のSTLベクトルmyNumbersがあります。次に、push_backメソッドを使用してこのベクトルに要素を追加し、ベクトルの各要素を表示します。
STLベクトルと文字列の配列の全体的な動作を見ると、この場合、配列内の要素の数や各要素の最大長に制限がないことがわかります。ベクトルを使用した文字列の配列は完全に動的であり、動的に増減できることがわかります。
使用する表現を選択する方法は?
文字列配列の3つの表現すべてを確認したので、3つの表現すべての中で、ベクトル表現は本質的に動的であるため、最良であると結論付けることができます。
文字列配列の目的と要件によって異なります。固定サイズの文字列配列が必要であり、文字列配列に入力される正確なデータがわかっている場合は、文字配列または文字列表現を使用できます。
文字列配列を動的に拡大または縮小する場合は、配列を動的に変更することでプログラムを開発するのに役立つため、ベクトル表現を使用できます。
結論
文字列配列は、データを文字列として持つ特別な配列です。これは、配列の各要素がヌル文字で終了する文字列であることを意味します。
文字列配列の3つの表現について、長所と短所とともに詳細に説明しました。要件に応じて;実装に適した文字列配列の任意の表現を使用できます。
以降のチュートリアルでは、C ++文字列とC ++関数について詳しく説明します。
=> Easy C ++トレーニングシリーズをお読みください。
推奨読書