www.delorie.com/gnu/docs/glibc/libc_420.html | search |
Buy the book! | |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ISO C99 introduces support for complex numbers in C. This is done
with a new type qualifier, complex
. It is a keyword if and only
if `complex.h' has been included. There are three complex types,
corresponding to the three real types: float complex
,
double complex
, and long double complex
.
To construct complex numbers you need a way to indicate the imaginary part of a number. There is no standard notation for an imaginary floating point constant. Instead, `complex.h' defines two macros that can be used to create complex numbers.
_Complex_I
gives a
complex number whose value is purely imaginary. You can use this to
construct complex constants:
3.0 + 4.0i = |
Note that _Complex_I * _Complex_I
has the value -1
, but
the type of that value is complex
.
_Complex_I
is a bit of a mouthful. `complex.h' also defines
a shorter name for the same constant.
_Complex_I
. Most of the
time it is preferable. However, it causes problems if you want to use
the identifier I
for something else. You can safely write
#include <complex.h> #undef I |
if you need I
for your own purposes. (In that case we recommend
you also define some other short name for _Complex_I
, such as
J
.)
webmaster donations bookstore | delorie software privacy |
Copyright © 2003 by The Free Software Foundation | Updated Jun 2003 |