配列と文字列の違い

目次:

Anonim

NS 主な違い 配列と文字列の間は 配列は同じデータ型の要素のセットを格納するデータ構造であり、文字列は文字のセットです。

Cなどのプログラミング言語は、配列と文字列をサポートしています。配列は、同じタイプに属するデータ要素を格納する固定サイズのデータ​​構造です。これは、配列インデックスにアクセスできる同じ名前の変数のコレクションです。さらに、それは要素のリストを表します。一方、文字列は配列に似ていますが、文字のみで構成されています。つまり、単一のデータ要素を表す一連の文字です。

配列、文字列

配列とは

配列は、同じデータ型の要素を格納するのに役立ちます。配列を宣言するとき、プログラマーは配列が格納できる要素の数を指定する必要があります。したがって、配列は固定長のデータ構造です。以下のプログラムを参照してください。

図1:配列を使用したプログラム

上記のプログラムでは、numbersは配列です。 10個の整数を格納できます。また、値は整数変数です。その初期値は0です。「forループ」内で、計算された値が配列に割り当てられます。次のforループは番号を繰り返し処理し、コンソールに出力します。 14行目のように、配列要素に簡単にアクセスできます。

配列の開始インデックスは0です。したがって、10個の要素の配列では、最後の要素のインデックスは9です。さらに、配列は要素を連続したメモリ割り当てに格納します。最初のインデックスのアドレスが最も低く、最後のインデックスのアドレスが最も高くなります。配列のサイズは固定されているため、宣言された量よりも多い数の要素を割り当てることはできません。つまり、配列サイズが10の配列に15個の要素を格納することはできません。

もう1つの一般的な配列タイプは、多次元配列です。テーブルと同様の行と列で構成される形式に従って要素を格納します。

文字列とは

文字列は文字のセットです。 「\ 0」であるヌル文字で終わります。プログラマーは、配列と同様の文字列を格納できます。次のステートメントは、文字列の宣言と初期化です。

char message [6] = {‘C’、 ‘o’、 ‘l’、 ‘o’、 ‘u’、 ‘r’、 ‘\ 0’};

上記のステートメントは次のように書くこともできます。

char message [] =“色”;

ヌル文字を格納する必要があるため、文字列のサイズは文字列の文字数より1つ大きくする必要があります。 C言語では、「char」データ型を使用して文字列を宣言します。プログラマーが文字列の最後にヌル文字を配置する必要はありません。コンパイラは、配列の初期化時に文字列の最後にヌル文字を自動的に配置します。

図2:配列を使用したプログラム

「string1」は文字列です。 printfステートメントはそれをコンソールに表示します。 strlen関数は、文字列内の文字の総数を見つけるのに役立ちます。 newString1は7文字を格納できます。 strcpy関数は、string1をnewString1にコピーするのに役立ちます。したがって、newString1にも文字列「Colour」があります。さらに、newString2には「Purple」という文字列があります。 strcatは、string1とnewString2を連結するのに役立ちます。 string1の最後にnewString2を結合します。

配列と文字列の違い

意味

配列は、それぞれが配列インデックスによって識別される要素のコレクションで構成されるデータ構造ですが、文字列は、ヌル文字で終了する文字の1次元配列です。したがって、これが配列と文字列の主な違いです。

データ・タイプ

配列と文字列のもう1つの違いは、配列は整数、倍精度浮動小数点数、浮動小数点数などのセットを格納できるのに対し、文字列は文字のみを格納できることです。

サイズ

また、サイズは配列と文字列のもう1つの違いです。配列のサイズは固定されています。ただし、文字列のサイズも固定されていますが、charポインタを使用すると変更できます。

タイプ

さらに、配列は1次元または2次元にすることができますが、文字列は常に2次元です。

結論

ArrayとStringの主な違いは、Arrayは同じデータ型の要素のセットを格納するデータ構造であり、Stringは文字のセットであるということです。簡単に言うと、Stringは配列ですが、文字のみを格納します。一方、配列には整数のセット、doubleのセット、文字のセットなどを格納できます。配列のデータ型は文字に限定されません。

リファレンス:

1.「C配列–Javatpoint」 Www.javatpoint.com、こちらから入手可能2.「C文字列–Javatpoint」 Www.javatpoint.com、ここから入手できます。

配列と文字列の違い