C 语言是一种强类型语言,定义任何一个变量,都需要准确、唯一地指定这个变量的数据类型。为此,C 语言预先定义了整型,浮点型,字符型等几种数据类型。唯一一个泛型的类型就是void,不过它只能用于定义指针,而且你不能利用这种类型做什么实际的工作,它只是一个中间类型,最终要经过强制转换成一个具体的数据类型来使用。
void 的具体说明可以参考10.4.1 节。为了理解什么叫强类型语言,有必要先以一种弱类型的语言为例,例如Perl 语言。程序11-1 是一段很常见的Perl 程序,其中$var 变量可以作为一个数来与2.3 相加,相加后$var 等于3.3。同时还可以当成一个字符串与"abc"连接到一块。在Perl 语言中,这些都是可以的,但在C 语言中是绝对不允许的。这种弱类型语言的好处是比较灵活,在书写不超过50 行程序的时候,你完全可以hold 住这种灵活性,但是当你的程序已经上万行了,这种灵活性和不确定性无疑是一种灾难。
程序11-1 Perl 语言实例
#!/usr/bin/perl
my $var = 1, $var1;
$var = $var + 2.3;