Windows用のmingw GCCコンパイラでコードブロックを使用して、Cでプログラムをコーディングしています。入力が type の配列である関数が定義されていますint
。私は別のようにstruct
定義しています
typedef struct {
float re;
float im;
}complex_float;
complex_float
形式でデータを処理する必要があるため、int 型配列を型配列に変換したいと考えていcomplex_float
ます。次のポインターメソッドを使用して変換を行っています
complex_float *comSig = (complex_float *) sigbuf;
ここsigbif
でint
、整数配列の開始アドレスを指すポインターです。
しかし、私が行うと、のprintf("%f",comSig[0].re);
ようなガベージ値が得られます-1.#QNAN0
。
LINUXで配列間のデータ変換にこの手法を何度も使用しましたが、うまくいきました。これは、mingw コンパイラが明確に動作しないことに関連する問題ですか、それとも int 配列を構造体配列に変換するために間違った方法を使用しているという事実に関連していますか。