C语言目前总共有四种标准,即最初的k&R C标准,C90,C99,以及最新的标准C11,这篇文章主要讨论C99中的新增数据类型,即_Bool,_Complex,_Imaginary
再讨论之前,我们先讲一下如何将Dev C++设置成支持C99标准,设置过程如下所示:
在菜单栏“工具[T]”选项下,选择“编译选项[C]”,勾选“编译时加入以下命令”,在方框内输入“-std=c99”即可。
设置好编译器之后,我们先看新增的_Bool数据类型,在使用_Bool数据类型前,必须导入头文件#include<stdbool.h>,示例代码如下:
#include<stdio.h>
#include<stdbool.h>
int main(void)
{
_Bool judge=true;
if(judge)
printf("This is new type!\n");
else
printf("Error!\n");
return 0;
}
接下来再来介绍_Complex,以前构建复数常常会采用结构体,使用C99引入新的数据类型_Complex可以得到一定的简化,使用该类型之前也需要先导入相应的头文件#include<complex.h>,另外采用creal()和cimag()可获得其实部和虚部,注意但是采用_Complex其变量定义并不算完整,需要和其他关键字组合,如:double,float等,其顺序没有关系,即double _Complex和_Complex double等价,示例代码如下:
#include<stdio.h>
#include<complex.h>
int main(void)
{
double _Complex fushu1=3.2+2.3i, fushu2=3.2-2.3i;
double _Complex fushu3;
fushu3=fushu1*fushu2;
printf("The result is %.2f + %.2fi\n",creal(fushu3),cimag(fushu3));
return 0;
}