私は初心者のCプレーヤーでもありません。だから私の問題です。 私はこのように宣言組合があります。ユニオンで構造体を理解するのに問題があります
typedef union
{
// 8-bit data
struct
{
UINT16 data8bit : 8;
};
// 9-bit data
struct
{
UINT16 data9bit : 9;
};
UINT16 __data;
} EXAMPLE_DATA;
をそして、このように書き機能があります:
SendData(EXAMPLE_DATA data)
{
//.....
}
今ここに私のquesitonですが。 私はのオブジェクトを作成して、SendData
関数に渡されたとき、私のデータはdata9bit
型になるようにしたいと思います。
私は本当に混乱しています。私は正直に答えを知らない。おかげさまで
ちょうど 'data.data9bit = 1'またはそれと同様のものを使用してください - このようなチュートリアル(https://www.tutorialspoint.com/cprogramming/c_unions.htm)を見てください。 – hnefatl
あなたがこれまでに持っていたコード*呼び出し* 'SendData'は、この質問に関連しており、その基礎のようです。しかし、あなたの質問が完全にはっきりしていないので、それはちょうど推測です。あなたが 'SendData(d)'に送られている 'EXAMPLE_DATA'型の変数' d'をいくつか持っていると仮定すると、 'd.data9bit = 257u;'は適切なメンバを設定します。 – WhozCraig
@WhozCraigそれは私が探していたものでした!私は本当にこのことについてヒールで頭を上げていたので、それを知っていたはずです。ありがとう! – svemiracBago