Cプログラミングにおける配列と構造体の違いは何ですか

目次:

Anonim

NS 主な違い Cプログラミングにおける配列と構造体の間には、 配列は同じタイプのデータ要素のコレクションを格納するのに役立ち、構造は異なるデータタイプを単一のユニットとして格納するのに役立ちます。

Cは、ベル研究所のDennisRitchieによって開発された高級汎用プログラミング言語です。これは、C ++、Java、Python、PHPなどの最新のプログラミング言語の基盤言語です。オペレーティングシステム、組み込みシステム、ネットワークドライバー、データベースなどは、C言語を使用して開発できるアプリケーションです。配列と構造は、C言語の2つの重要なプログラミング概念です。全体として、配列内の要素は同じデータ型を持ちますが、構造内の要素は異なるデータ型を持ちます。

配列、構造、C、C ++

Cプログラミングの配列とは

配列は、同じデータ型に属する要素を格納できるデータ構造です。プログラマーは、配列に格納する要素の数を宣言する必要があります。したがって、配列の長さは固定されています。例として次のことを考えてみましょう。

int番号[10];

この場合、配列には10個を超える要素を格納できません。配列の最初の要素は、ゼロインデックスで始まります。最後の要素のインデックスは9です。さらに、すべての要素は連続したメモリ位置に格納されます。したがって、配列のメモリ割り当ては静的です。

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

上記はCを使用した単純なプログラムです。「マーク」は配列です。 5つの整数値を格納できます。プログラマーは、5つのマークで配列を初期化します。 「forループ」は、配列を反復処理するのに役立ちます。 「i」変数は0から始まり、4まで増加します。配列内のマークを順番に出力します。最初の要素は75で、最後の要素は66です。

Cプログラミングの構造体とは

構造体は、さまざまなデータ型に属するデータを保持できる単一の変数です。つまり、データ型が異なる変数のセットです。例は次のとおりです。

図2:構造を持つCプログラム

上記のプログラムでは、学生は構造です。 id(int)とname(char)の2つのプロパティが含まれています。 mainメソッドでは、s1は構造型変数です。 13行目では、構造体のidプロパティに番号1が割り当てられています。 strcpy関数を使用すると、文字列「Ann」を構造体のnameプロパティにコピーできます。プログラマーは、アクセス演算子(。)を使用して構造体のプロパティにアクセスできます。最後に、printf関数はコンソールにIDと名前を表示します。

Cプログラミングにおける配列と構造体の違い

意味

配列は、それぞれが配列インデックスによって識別される要素のコレクションで構成されるデータ構造であり、構造は、同じメモリ位置に異なるデータ型を格納するデータ型です。したがって、これがCプログラミングにおける配列と構造体の主な違いです。

機能性

配列は同じデータ型のデータ要素のセットを連続したメモリ位置に格納しますが、構造体は異なるデータ型を単一のユニットとして格納します。

アクセス

インデックスを使用して配列要素にアクセスすることができます。ただし、構造体名とドット演算子を使用して、構造体のプロパティにアクセスすることは可能です。したがって、これはCプログラミングにおける配列と構造体のもう1つの違いです。

キーワード

さらに、配列を宣言するキーワードはありませんが、プログラマーは「struct」キーワードを使用して構造体を宣言します。

データ要素のサイズ

Cプログラミングにおける配列と構造体のもう1つの違いは、データ要素のサイズです。配列内の各要素のサイズは同じですが、構造内の要素のサイズは異なる場合があります。

要素へのアクセスと検索

結論

配列と構造は、Cプログラミングにおける2つの重要な概念です。構造体はユーザー定義のデータ型であるのに対し、プログラマーは配列を直接宣言できます。 Cプログラミングの配列と構造体の違いは、配列は同じデータ型の要素のコレクションを格納するのに役立ち、構造体は異なるデータ型を単一のユニットとして格納するのに役立つことです。

リファレンス:

1.「C配列–Javatpoint」。 Www.javatpoint.com、ここから入手可能2。 「Cの構造体–Javatpoint」 Www.javatpoint.com、ここから入手できます。

Cプログラミングにおける配列と構造体の違いは何ですか