C/C でギザギザ配列を作成するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-06 06:59:02
オリジナル
925 人が閲覧しました

How Can You Create Jagged Arrays in C/C  ?

C/C のギザギザ配列 : 謎が明らかに

その名前に反して、ギザギザ配列は不規則配列とも呼ばれます。部分配列の長さが異なる配列の配列です。この概念は JavaScript や Python などの言語で広く普及していますが、C/C はこのタイプのデータ構造を直接サポートしていません。

C/C にはネイティブのギザギザ配列の欠如

C または C で次のコードをコンパイル中にエラーが発生した場合:

<code class="cpp">int jagged[][] = { {0,1}, {1,2,3} };</code>
ログイン後にコピー

「多次元配列としての `jagged' の宣言は、最初の次元を除くすべての次元に境界が必要です」というメッセージは、次のことを示唆しています。 C/C 多次元配列では、最初の次元を除くすべての次元の長さを指定する必要があります。つまり、ジャグ配列はネイティブ C/C 言語仕様の一部ではありません。

C でのジャグ配列のエミュレーション

C でジャグ配列の機能を実現するには、別のアプローチに戻らなければなりません。そのような方法の 1 つは、ポインターの配列を利用することです。

<code class="cpp">int *jagged[5];

jagged[0] = malloc(sizeof(int) * 10);
jagged[1] = malloc(sizeof(int) * 3);</code>
ログイン後にコピー

この例では、jagged は 5 つのポインターの配列です。各ポインタは、整数を格納するために割り当てられたメモリ ブロックを指します。ポインタの配列を使用すると、さまざまなサイズのサブ配列を作成し、そのメモリ割り当てと管理の制御を維持できます。

以上がC/C でギザギザ配列を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!