- ベストアンサー
構造体にする理由・利点・使用例
最近「構造体」についての学習が始まりました。テキストなどで構造体を使用したプログラム例がいくつか載っていますが、あくまで説明にとどめているので、一見見ると返って複雑になってどんなメリットがあるのかいまいちつかめません。 構造体のメリットって何でしょうか? 規模の大きいプログラムになると構造体が不可欠といわれるのでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (5)
- 麻野 なぎ(@AsanoNagi)
- ベストアンサー率45% (763/1670)
- PG_RankB
- ベストアンサー率40% (12/30)
![noname#21649](https://gazo.okwave.jp/okwave/images/contents/av_nophoto_100_3.gif)
- goma_2000
- ベストアンサー率48% (62/129)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
関連するQ&A
- 構造体について
凄く初歩的な質問で申し訳ありませんが… 入門書の構造体のところで 以下のようなプログラムの例がありました。 #include <stdio.h> struct seiseki { /* 構造体の宣言 */ int no; char name[20]; double average; }; int main(void) { int i; struct seiseki seito1, seito2[20]; /* 構造体変数と構造体配列の宣言 */ >char name[20] というのは、NAMEの領域を20文字 確保すると言うことですよね? >struct seiseki seito1, seito2[20] ここの箇所が分からないのですが seito2[20]の20というのは どうして20なのですか? NAMEだけではないので もっと大きな数字になるような気がするのですが… またseito1の方は どうして数字が何もないんですか? 考え違いをしているところを ご指摘して頂ければ幸いです。
- ベストアンサー
- C・C++・C#
- 異なる複数の構造体のスマートな使用方法
構造体のビットフィールドを複数作成し、 条件によってどの構造体を使用するかを決定し データ取得しようとしています。 同じ型の構造体の配列はできますが、 異なる構造体が複数ある場合、配列のように 参照する方法はないでしょうか? スマートなやり方があれば、ご教授お願い致します。 以下、やろうとしていることの簡易版、 /* ----例----------------------------------*/ int test = 1; if( test == 1){ /* 構造体test01を使用し値参照 */ } else if( test == 2){ /* 構造体test02を使用し値参照 */ } else if( ........ /* 以下同じような処理 */ struct test01{ unsigned int bit01: 1; unsigned int bit02: 15; } struct test02{ unsigned int bit01: 2; unsigned int bit02: 14; } struct test03{ unsigned int bit01: 3; unsigned int bit02: 13; } /* 同様の構造体がつづく*/ /* --------------------------------------*/
- ベストアンサー
- C・C++・C#
- C言語構造体についてです。
C言語、π=PI 3.14159265で構造体を用いてmensekiを呼び出して 半径と面積を計算して出力するプログラムです。下の空白を埋めてもらえますか? /* 構造体のプログラム */ #include <stdio.h> #include <math.h> #define PI 3.14159265 struct Data { /* 半径rと面積areaをdoubleで宣言 */ }; void menseki(struct ... 構造体のポインタを引数とする ){ /* 面積を計算する際に構造体のアドレスから計算する */ circle->area=PI* .....; } main(){ struct Data example[2]; //構造体配列 int i; /* 半径rを構造体配列を用いて2例入力する */ /* 2例の各々について mensekiを呼び出して 半径と面積を計算して出力する */ } よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 構造体のファイル出力
以下のような構造体を、テキストファイルに保存するにはどうしたらよいでしょうか? 構造体には、4つのデータがある場合、以下のようにします。 [構造体] typedef struct comp_bango { char bango[3]; } COMP; 出力テキスト 100 200 300 400
- ベストアンサー
- C・C++・C#
- sqliteの構造体
SQLiteを使ったメールソフトを作っています。 sqliteの構造体 sqlite3_stmt の宣言は見つかるのですが 構造体の内容の定義してあるものが見つかりません。 sqlite3.h, sqlite3.c を探したのですが見つかりませんでした。 この構造体が見つからないと そこに登録してある値が使えません。 それとも、 この構造体は定義されていなくて これを当てにしないで プログラムを組まなくてはいけないのでしょうか? 使わなくても動かせそうですか。。。 お分かりの方、よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 構造体のプログラム・・・・
構造体のプログラムを作っているのですが、コンパイル時に "Fatal: ファイル 構造体1-1.OBJが開けません"と出て実行できません。 やっぱりファイル名が日本語だとダメなんですか? 他の日本語の名前のプログラムは実行できるのに・・。
- 締切済み
- C・C++・C#
- 友達に「びっくりド○キー」と「ド○キーホーテ」を同じお店だと思っていたことを間違えて答えたら笑われ、その後は友達に無視されるような感じがして心配です。
- 友達から「ぶりっ子しないで?」と言われ、間違いを誤解されたことが原因で関係が悪くなってしまいました。
- ド○キーホーテとびっくりド○キーを間違えたことが友達にとって不快だったのか、どう思われるのか悩んでいます。友達との関係を修復したいです。
お礼
一つのプロトタイプが完成したとして、新たに何らかの変更で変数を追加・変更する事となったら大変な作業となりますよね。 それを、あらかじめ一つにまとめておけばそこだけ書き換えるだけでいいですものね。 構造体が便利であるという理由が見えてきました。 どうもご回答ありがとうございます。