编程之显示/隐式声明

显示声明 是程序中的一条说明语句,它列出一批变量名并指明这些变量的类型。

  如C、C++、Java中

  

复制代码 代码如下:

  // 显示声明 变量count,类型为int,占用空间大小各语言可能有所不同

  int count;

  又如JavaScript中

  

复制代码 代码如下:

  // 显示声明 变量count,但不知其类型,也不知其占用空间大小

  var count;

  隐式声明 指通过某种默认协定的方法将变量名与类型绑定

  如在Fortain中,一个以字母I、J、K、L、M或者N(或其对应小写)开始,它们被隐式的声明为Integer类型。否则为Real类型。

  Javascript中

  

复制代码 代码如下:

  // 赋值语句其实隐式的声明了变量count,类型为数字,占用8个字节(64位浮点格式)

  // 所有隐式声明的变量默认都是全局变量,无论函数内外

  count = 10;

  隐式声明带来了些许的方便,但却被认为有损于程序的可读性,因为它可能会带来隐藏的错误,Bug。

  Perl中也有隐式声明,但为了避免以上问题。它做了一些处理

  1,以字符 $ 开头的默认为标量,可存放字符串和数字

  2,以字符 @ 开头的默认为数组

  3,以字符 % 开头的默认为一个散列结构(hash)

  以上可以看到多数语言中要求变量都要显示声明,但Fortain、Perl、JavaScript和ML例外。

  Fortain,JavaScript同时包含显示声明和隐式声明。