0Pricing
Zig Academy · レッスン

固定長配列

コンパイル時にサイズが決まる配列を宣言し、インデックスでアクセスします。

「固定長配列」はCoddyKit上の無料Zig Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはZig Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Zig Academyコースには全4レッスンが含まれています。

配列に格納されるもの

配列は、同じ型の値を固定個数格納し、メモリ上の1つのブロックに連続して配置します。📦

長さは固定

Zigでは長さが配列の型の一部であり、コンパイル時に決まります。宣言後に増やしたり減らしたりすることはできません。

配列を宣言する

角括弧内に個数を書き、その後に要素の型を記述します。この[3]i32は符号付き整数をちょうど3個格納します。

const nums = [3]i32{ 10, 20, 30 };

Zigに個数を数えさせる

サイズにアンダースコアを使うと、Zigが列挙した値から個数を推論します。ここでの[_]i32は3要素の配列になります。

const nums = [_]i32{ 1, 2, 3 };

インデックスは0から始まる

角括弧内のインデックスで要素にアクセスします。インデックスは0から始まるため、nums[0]が最初の値です。

const first = nums[0];

長さを確認する

すべての配列はlenフィールドでサイズを公開しています。これはコンパイル時に決まり、変わることはありません。

const count = nums.len; // 3

範囲がチェックされる

末尾を越えて読み取ると検出されます。安全なビルドでは、範囲外のインデックスによって、静かなデータ破壊ではなく実行時パニックが発生します。

1つの値で埋める

**演算子を使うと、配列全体に同じ要素を繰り返し配置できます。これにより、5個のゼロを1つずつ入力せずに作れます。

const zeros = [_]u8{0} ** 5;

配列は値型

配列を別の配列に代入すると、すべての要素がコピーされます。2つの配列は独立しているため、一方を変更しても他方には影響しません。

要素を変更する

後から要素を変更するには、配列をvarで宣言します。その後、インデックスを通して代入すれば、1つの要素を更新できます。

var scores = [_]i32{ 0, 0, 0 };
scores[1] = 99;

あらゆる型の配列

要素には、別の配列を含むあらゆる型を使えます。[2][3]i32は、3個の整数からなる行が2行ある小さなグリッドです。

const grid = [2][3]i32{ .{ 1, 2, 3 }, .{ 4, 5, 6 } };

クイックチェック

const nums = [_]i32{ 1, 2, 3 }と宣言しました。nums.lenは何になりますか?

まとめ

固定サイズの配列は、同じ型の値をまとめて格納します。長さは型の一部で、インデックスは0から始まり、アクセス時には範囲がチェックされます。🎯

よくある質問

「固定長配列」レッスンは無料ですか?

はい。「固定長配列」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Zig Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Zig Academyコースには全4レッスンが含まれています。

「固定長配列」で何を学びますか?

コンパイル時にサイズが決まる配列を宣言し、インデックスでアクセスします。 ブラウザで直接実行するハンズオンコードでZig Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Zig Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのZig Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「固定長配列」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このZig Academyレッスンでコードを書いて実行できますか?

はい。すべてのZig Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 固定長配列
  2. スライス:ポインターと長さの組み合わせ
  3. array[start..end]でスライスする
  4. スライスを反復処理して変更する
← Zig Academyに戻る