C言語で複素数を使うときのあれ

conmplex.hを使うと複素数を使えます。変数の宣言は、

#include <complex.h>
...
int main () {
  double _Complex z;
  int _Complex a;

  return 0;
}

とかそんな感じ。

http://www.alab.t.u-tokyo.ac.jp/~bond/doc/complex.html

に詳しい。complex.hを使うときに特にオプションは必要ない模様。大体複素数使うときは数学関数を使うのでmath.hを使ってるから-lmオプションが実は必要なのかもしれない。使えてしまってるのであんまし気にしてない。
complex.hでサポートされてる関数については、

http://www.bohyoh.com/CandCPP/C/Library/hindex.html

にのってます。