
C言語初心者です。
今回の質問は入力された構造体のメンバのデータを型の異なる構造体に代入したいのですが、毎回コンパイラにおこられてしまいます(汗)具体的には
typedef struct MSG{
longint type;
int flg;
int Dt[64];
}t_msg;
このDt[64]を以下の構造体に代入します。
typedef struct SC_MSG{
char a;
char b;
short c;
char d;
char e;
short f;
}t_sc_msg;
その際、異なる関数で処理するため、
main(){
foo(&t_msg);
};
void foo(t_msg *pt_msgdt){
t_sc_msg = (*pt_msgdt+8);
ココがエラーになってしまいます。
何か、根本的な間違いをおかしている気がします。
ご指導の方、宜しくお願いします。
ちなみにOSはLinuxでコンパイラーはgccです。
No.1
- 回答日時:
>foo(&t_msg);
t_msg は struct MSG の typedef なので、引数に渡せません。
> *pt_msgdt+8
*pt_msgdt の型は struct MSG です。これに 8 を加算することはできません。
>t_sc_msg = (*pt_msgdt+8);
同じく t_sc_msg も struct SC_MSG の typedef です。代入できません。
早速の回答ありがとうございます。
>*pt_msgdt の型は struct MSG です。これに 8 を加算することはできません。
なんとかt_msg.Dt[64]だけ抜き出そうとしているのですが・・。
もう少し試行錯誤してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Integer変数をカラにしたいので...
-
VBAのプログラムで、DIAG = 1# ...
-
「#undef」と「#define」の使い...
-
リッチテキストボックスの中身...
-
1バイトデータの読み出しについて
-
typedefをプログラム中で解除す...
-
C言語 構造体の中に共用体を定...
-
値が代入されてない時
-
VBAにてcolorindexを変数に格納...
-
命名規則 VB 構造体
-
構造体のデータを丸ごとコピー...
-
構造体のポインタにNULLが入らない
-
値が変わるのはどうしてでしょ...
-
C言語で確保できるビットの桁数
-
構造体の初期化方法について
-
C++ 構造体の一括初期化 {0}
-
10進数の変換方法
-
aspでユーザー定義の構造体を作...
-
構造体のメンバ初期化について
-
C言語 配列の長さの上限
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのプログラムで、DIAG = 1# ...
-
Integer変数をカラにしたいので...
-
「#undef」と「#define」の使い...
-
構造体のデータを丸ごとコピー...
-
VBAの変数のデータ型を変更する...
-
C言語 構造体の中に共用体を定...
-
VBAにてcolorindexを変数に格納...
-
値が代入されてない時
-
日付チェック関数について
-
long型のデータをバイト型の配...
-
VBAで符号無し整数
-
typedefをプログラム中で解除す...
-
変数の初期化について
-
C++ 構造体の一括初期化 {0}
-
命名規則 VB 構造体
-
構造体のポインタにNULLが入らない
-
異なる構造体のデータのコピー
-
構造体を型の異なる構造体に代入
-
FileTimeToSystemTime がコンパ...
-
値が変わるのはどうしてでしょ...
おすすめ情報