ISO C99 standardı ile C'de karmaşık sayılar için destek geldi. Bu yeni bir tür,
complex ile sağlandı. Sadece
complex.h dosyası yazılıma dahil edildiğinde geçerli olan bir anahtar sözcüktür. Karmaşık sayı türleri üç tanedir ve üç gerçek sayı türüne karşılıktır:
float complex,
double complex, and
long double complex.
Karmaşık sayıları oluşturabilmek için sayının sanal kısmını belirtecek bir yöntem gerekir. Sanal gerçek sayı sabitler için standart bir sembolleştirme yöntemi yoktur. Bunun yerine, complex.h dosyasında karmaşık sayıları oluşturmakta kullanılabilen iki makro tanımlanmıştır.