セクション 1. 章 5
single
構造体フィールドへのアクセス
メニューを表示するにはスワイプしてください
化学元素を記述する構造体を作成した後、いよいよその構造体とやり取りできます。
構造体に含まれる情報へアクセスするには、. 演算子を使用します。
. 演算子を使うことで、構造体の要素(フィールド)に直接アクセスできます。
<struct>.<field>;
この方法で、構造体のメンバーにアクセスできます。
シリコンに関する情報を画面に表示してみましょう。
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; }
注意
ポインタも構造体のフィールドにアクセスするためによく使用されますが、これについては後ほど説明します。
2番目の方法で構造体変数を作成する場合、silicon.name を使って strcpy() に値を代入し、その後 printf() で表示する必要があります。
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; }
注記
strcpy() 関数は、指定された(“Si”)文字列を作成した変数の name[3] フィールドにコピーするために使用。
タスク
スワイプしてコーディングを開始
Product構造体は、店舗の商品に関する情報(名前、価格、数量)を格納します。あなたの課題は、価格と数量を掛け合わせて商品の合計金額を計算することです。
productCost関数は、Productをパラメータとして受け取ります。
productCost内で、priceフィールドとquantityフィールドを掛け合わせてください。main関数内で、名前、価格、数量を持つProductオブジェクトを作成してください。printfを使って、商品の名前、価格、数量、および(productCostを呼び出して得られる)合計金額を表示してください。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 5
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください