Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 構造体と配列 | 構造体とメモリの理解
C構造体
セクション 3.  4
single

single

構造体と配列

メニューを表示するにはスワイプしてください

構造体から配列を作成することは、他のデータ型で配列を作成する場合と全く同じです。

構造体+配列

このような配列の要素へのアクセスは、通常の配列と同様にインデックスで行います。

struct Person {
    char name[50];
    int age;
    double height;
};

struct Person people[2];
構造体の配列

例として、人物情報を格納する構造体の配列を作成。

main.c

main.c

12345678910111213141516171819202122232425262728293031323334353637
#include <stdio.h> #include <string.h> // structure definition struct Person { char name[50]; int age; double height; }; int main() { // declaring an array of structures struct Person people[3]; strcpy(people[0].name, "Alice"); people[0].age = 25; people[0].height = 1.75; strcpy(people[1].name, "Bob"); people[1].age = 30; people[1].height = 1.80; strcpy(people[2].name, "Charlie"); people[2].age = 35; people[2].height = 1.70; // output information about people from the array for (int i = 0; i < 3; ++i) { printf("Person %d:\n", i + 1); printf("Name: %s\n", people[i].name); printf("Age: %d\n", people[i].age); printf("Height: %.2f\n", people[i].height); printf("\n"); } return 0; }

people 配列の各要素は、個別の Person 構造体を表します。特定の人物のフィールドには、配列のインデックスを使ってアクセスできます。例えば、people[0].namepeople[1].age などです。

その後、for ループを使って配列全体を走査し、各人物の情報を画面に表示します。

構造体の配列を使用することで、同じ型の複数のオブジェクトを一箇所に格納し、インデックスで簡単にアクセスできるため、大量のデータを扱う際に特に便利です。

タスク

スワイプしてコーディングを開始

倉庫に保管されているすべての製品の総価値を計算する関数 calculateWarehouseTotal を実装します。各製品は名前、数量、価格を持っています。この関数は製品の配列を反復処理し、すべてのアイテムについて quantity * price の合計を計算します。

  1. 関数 calculateWarehouseTotal 内で、変数 total0.0f で初期化します。
  2. for ループを使用して、インデックス 0 から n まで反復します。
  3. 各製品について、quantityprice を掛け、その結果を total に加算します。
  4. 最終的な total の値を倉庫全体のコストとして返します。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  4
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt