Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 構造体フィールドへのアクセス | 構造体の導入
C構造体
セクション 1.  5
single

single

構造体フィールドへのアクセス

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

化学元素を記述する構造体を作成した後、いよいよその構造体とやり取りできます。

構造体に含まれる情報へアクセスするには、. 演算子を使用します。

. 演算子を使うことで、構造体の要素(フィールド)に直接アクセスできます。

<struct>.<field>;

この方法で、構造体のメンバーにアクセスできます。

シリコンに関する情報を画面に表示してみましょう。

main.c

main.c

123456789101112131415161718192021
#include "stdio.h" struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; }; int main() { struct chemicalElement silicon = { "Si", 14, 4, 28.08 }; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
注意

ポインタも構造体のフィールドにアクセスするためによく使用されますが、これについては後ほど説明します。

2番目の方法で構造体変数を作成する場合、silicon.name を使って strcpy() に値を代入し、その後 printf() で表示する必要があります。

main.c

main.c

12345678910111213141516171819202122232425
#include "stdio.h" #include <string.h> struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; } silicon; int main() { strcpy(silicon.name,"Si"); // using `strcpy()` silicon.atomicNumber = 14; silicon.valency = 4; silicon.mass = 28.08; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
注記

strcpy() 関数は、指定された(“Si”)文字列を作成した変数の name[3] フィールドにコピーするために使用。

タスク

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

Product構造体は、店舗の商品に関する情報(名前、価格、数量)を格納します。あなたの課題は、価格と数量を掛け合わせて商品の合計金額を計算することです。

productCost関数は、Productをパラメータとして受け取ります。

  1. productCost内で、priceフィールドとquantityフィールドを掛け合わせてください
  2. main関数内で、名前、価格、数量を持つProductオブジェクトを作成してください。
  3. printfを使って、商品の名前価格数量、および(productCostを呼び出して得られる)合計金額を表示してください。

解答

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

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

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

セクション 1.  5
single

single

AIに質問する

expand

AIに質問する

ChatGPT

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

some-alt