ホームページ > バックエンド開発 > C++ > C における可変サイズの配列とリテラル サイズの配列: どちらの初期化方法を使用する必要がありますか?

C における可変サイズの配列とリテラル サイズの配列: どちらの初期化方法を使用する必要がありますか?

Linda Hamilton
リリース: 2024-12-16 06:05:10
オリジナル
750 人が閲覧しました

Variable-Sized vs. Literal-Sized Arrays in C  : Which Initialization Method Should You Use?

配列の初期化: 可変サイズの配列とリテラル サイズの配列

C では、配列は可変サイズまたは可変サイズのいずれかで初期化できます。数値リテラル。ただし、これら 2 つの初期化方法には、エラーにつながる可能性がある重要な違いがあります。

可変サイズの配列

などの可変サイズの配列の宣言double tenorData[n] として、厳密な C では正当ではない可能性があります。可変長配列は C 標準の一部ではありませんが、 G などの一部のコンパイラでは拡張機能として使用できる場合があります。ただし、コンパイラが C 標準に準拠するように設定されている場合は、エラーが発生する可能性があります。

数値リテラル配列

一方、配列を宣言すると、 double tenorData[10] などの数値リテラルは、C では有効です。配列は 10 要素の固定サイズで初期化されます。

可変サイズの配列のソリューション

動的にサイズ変更された配列が必要な場合は、いくつかのオプションが利用可能です。

  • ダイナミックメモリ割り当て: new と delete[] を使用して、必要なサイズの配列に手動でメモリの割り当てと割り当て解除を行います。
  • 標準コンテナ: std::vector
  • 定数サイズの配列: const を使用して一定サイズの配列を宣言し、コンパイル時にサイズが確実に認識されるようにします。あるいは、constexpr 関数を使用して C 11.
でサイズを計算します。

以上がC における可変サイズの配列とリテラル サイズの配列: どちらの初期化方法を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート