NOEMBLEM/エンブレムが設定されていません。

メールの詳細(メール表示)

件名:

Re:Cの構造体と共用体の使い分けについて?

差出人: TDaさん <tda…>
送信日時 2002/04/14 11:00
ML.NO [beginers:0143]
本文:

しげぼんさんへ

> データ構造の「前月繰越」と100,000がちぐはぐに


> > 今、考えているのは、以下のようなデータ構造なんですけど。
> >
> >   品    名  数量 単価  仕入金額  支払金額  差引残高
> > 前月繰越
> 100,000
> >  商品 A     10 500 5,000
> 105,000
> >   支払手形                    ¥100,000 5,000
> > 商品 B      20 700 14,000
> 19,000

こんにちはしげぼんさん。さて申し訳ありませんが上記のデータ構造がよ
く理解できません。商品A,商品Bなどは品名、数量、単価、仕入れ金額などと
列の対応がよくわかります。私のメーラでは、繰り越し、支払手形と行に単
独で現れる金額がどうなっているのかわかりません。?プロポーショナルフ
ォントのせいでしょうか。

想像するに次のような感じかと思うのですが
(フィールドの区切りに===を使いました)
品名  === 支払金額 === 差引残高  
前月繰越 ===  ― === 100,000
支払手形 === ¥100,000 === 5,000

要するにレコードによって空フィールドがあると言うことですね。
この場合は共用体を使用するのは無理じゃないかと思います。
共用体は構造体と併用して使われることが多いのですが構造体がメモリ上
にメンバを並べて確保するのに対して共用体は重ねて確保します。

たとえば構造体Petを考えるとします。そのメンバには名前、生年月日、体重
などいろいろ考えられます。そしてペットが犬のばあい散歩コース、猫の場
合お気に入りの場所、熱帯魚の場合水を取り替えた日付をメンバに加えよ
うと思いました。猫として扱うときは散歩コース、水を取り替えた日付とい
うメンバは絶対に使わない、犬、熱帯魚の時も同様という場合、
散歩コース、お気に入りの場所、水の取り替え日を共用体とするとその分メ
モリの節約になります。

上記のデータの場合どのメンバを共用体とすればよいのかぱっと思いつき
ません。

/***************************************/
/* TDa mailto:tda@… */
/***************************************/

このエントリーをはてなブックマークに追加
添付:

このメールは下記のメールに対する返信です:

更新順メールリスト