- 締切済み
汎用性のある構造体
c言語で構造体のメンバに関して構造体の定義を操作せずにメンバを操作したいのですが(ソースから)その実現は可能でしょうか? よろしくお願い致します
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
関連するQ&A
- 構造体変数がないとメンバ操作できないのはなぜ?
C言語の構造体に関して質問がありますが、structで型を作成して、構造体変数にてメンバの代入・参照をする。ということなんですが、なんでメンバ操作には構造体変数からでないといけないのでしょうか? 直接、型枠にてメンバ操作をすれば良いのに、なぜ構造体変数から操作しないといけないのでしょうか? 「クラス」や「オブジェクト」みたいに、一々ゼロから作成したり、コピペで作成しなくても済むように、このような形になっているのでしょうか? 回答の方よろしくお願いします。
- 締切済み
- その他(プログラミング・開発)
- FILE構造体がどのように定義されているか
こんにちは。 C言語初心者です。 今、FILE構造体について学んでいるのですが、stdioでFALE構造体が どの用に定義されているか調べなさい、という問題がありました。 それは、どのように調べればいいのでしょうか。 また、どのように定義されているのでようか。
- ベストアンサー
- C・C++・C#
- 構造体のポインタに関する質問
構造体の中にポインタ変数を置いたのですが、代入時に members.*pstack=*pushdeta; と記述すると、 エラー E2451 C:\WINDOWS\デスクトップ\作成\s\ds.cpp 85: 未定義のシンボル pstack(関数 stack::push(int *,char *) ) とエラーが出てしまいます ちなみに↓がその構造体です struct stack_member{ int *pstack; char *chpstack; int *pfornt; }members; このエラーの解決方法がわかる方が居たら教えてください (*を取れば、エラーは出ない) ちなみにこれを書いた言語はC++です
- ベストアンサー
- C・C++・C#
- 構造体と構造体型の変数宣言箇所
はじめてborlandC++builder6でプログラムを作っているのですが、構造体と構造体型の変数宣言箇所についてわからないことがあるので質問させてください。 あるフォームのソースファイル(○○○.cpp)内の関数で、自分で定義した構造体を使う場合、ヘッダファイル(○○○.h)に構造体を定義すると、関数内で「変数が未定義」エラーになってしまいます。一方、ソースファイル(○○○.cpp)の先頭に書けばエラーになりません。 ヘッダファイルに変数定義した場合とソース内の先頭に構造体と構造体型変数を定義するのでは何が違ってくるのでしょうか?
- ベストアンサー
- C・C++・C#
- 構造体の静的な初期化
構造体の静的な初期化で、初期化が書かれていないメンバーは、 どうなるのでしょうか。。? たとえば・・・ // 構造体の宣言 strcut MY_STRUCT { int data1 ; int data2 ; int data3 ; int data4 ; } ; // 変数宣言&初期化 static strcut MY_STRUCT st = { .data1 = 100, .data3 = 300 } ; ネットで調べると、 初期化で指示されていないメンバーは0に初期化される、 という記述も一つだけ見つけたのですが・・・これはC言語(C99)の仕様でしょうか? それともコンパイラ依存の仕様でしょうか?
- ベストアンサー
- C・C++・C#
- 配列とその要素数をメンバにもつ構造体
C言語では,配列を引数とするときに,合わせて要素数を渡さなければいけないといわれます. そこで,配列とその要素数をメンバにもつ構造体を定義して,これを要素数つき配列のように扱えば,引数として渡す場合には,この構造体を渡すだけでよいと思うのですが,このような用法は一般的に用いられているでしょうか. 単純なアイデアだと思うんですが,あまり紹介されているのを見たことがありません. もしあまり用られない用法であれば,その理由を教えてください. 現在,プログラムを書いているのですが,引数の多さに閉口しており,上の考えで,引数を減らしたいと考えています. よろしくお願いいたします.
- ベストアンサー
- C・C++・C#
- sqliteの構造体
SQLiteを使ったメールソフトを作っています。 sqliteの構造体 sqlite3_stmt の宣言は見つかるのですが 構造体の内容の定義してあるものが見つかりません。 sqlite3.h, sqlite3.c を探したのですが見つかりませんでした。 この構造体が見つからないと そこに登録してある値が使えません。 それとも、 この構造体は定義されていなくて これを当てにしないで プログラムを組まなくてはいけないのでしょうか? 使わなくても動かせそうですか。。。 お分かりの方、よろしくお願いします。
- ベストアンサー
- C・C++・C#
お礼
御回答ありがとうございます。 大変勉強になりました。