`
zhouyrt
  • 浏览: 1172274 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

变量的显示/隐式声明

阅读更多

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

如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同时包含显示声明和隐式声明。

 

 

 

 

 

 

2
0
分享到:
评论

相关推荐

    编程之显示/隐式声明

    在编程语言中,变量的声明方式可以分为显示声明和隐式声明两种。它们在不同的编程语言中有着不同的实现和要求,同时也影响着编程的可读性和可维护性。 显示声明是一种在代码中明确指出变量类型和名称的方式。通常,...

    javascript 显示全局变量与隐式全局变量的区别

    // 隐式声明的全局变量 console.log(a); // a console.log(b); // b console.log(window.a); // a console.log(window.b); // b 在 js 中全局变量其实是global对象(window)的属性,因此两种方式声明的全局变量都...

    var与Javascript变量隐式声明

    如果未使用`var`声明变量而直接赋值,JavaScript会将该变量隐式地声明成全局变量,这种情况被称作变量的隐式声明。 隐式声明变量时,JavaScript的处理方式为:首先会在当前函数作用域内查找该变量是否已经声明,...

    JavaScript 学习笔记之变量及其作用域

    省略var关键字定义变量,则意味着这个变量是隐式声明的全局变量,它在函数外部被定义,因此可以在全局范围内被访问。这种隐式声明的变量在解释时才被定义为全局变量。 例如: ```javascript firstDemo = "hello"; /...

    Dart 入口方法介绍及代码.zip

    Dart中的变量有三种类型:`var`(隐式类型推断)、`final`(只赋值一次,不可更改)和`const`(编译时常量,必须在声明时初始化)。例如: ```dart var name; // 隐式类型变量,未初始化时默认为null var age = ...

    JavaScript声明变量时为什么要加var关键字

    总结而言,虽然在JavaScript中可以不使用`var`关键字来声明变量,但是这样做会带来很多问题,比如隐式全局变量的问题以及变量作用域难以控制等。因此,为了避免这些问题,强烈建议在声明变量时明确使用`var`(或者更...

    C#基础源代码 注释、VS快捷键、变量、转移符、算数运算符、类型转换

    在C#中,声明变量时需要指定类型,如`int age = 25;`。变量有其生命周期,作用域以及可变性。C#支持多种变量类型,如基本类型(int, double, bool等),引用类型(class, interface等)和值类型(struct)。 4. **...

    Swift中常量和变量的区别与声明详解

    Swift是一种强类型编程语言,这意味着在编写代码时必须清楚地声明每个变量或常量的数据类型。Swift中的常量和变量的声明与许多其他语言不同,它提供了类型推断的便利,但也强调了类型安全。 首先,常量和变量的主要...

    PL/SQL 基础.doc

    1) 申明部分, DECLARE (如果语句不需要声明任何变量,可以不写); 2) 执行部分, BEGIN <---------> END; 3) 异常处理,EXCEPTION(可以没有); 2. PL/SQL开发环境 可以运用任何纯文本的编辑器编辑,例如:VI 3....

    oracle 隐式游标,显示游标,游标循环

    游标分为两种主要类型:**隐式游标**和**显示游标**。此外,还可以利用游标进行循环处理,以实现更复杂的数据操作需求。 #### 二、隐式游标 隐式游标是在执行DML(数据操纵语言)操作或单行`SELECT INTO`语句时由...

    探讨JavaScript中声明全局变量三种方式的异同

    这种方式声明的变量不具有任何作用域限定符,因此它隐式地声明了一个全局变量。即使这行代码位于函数内部,一旦函数执行完毕,该变量也会成为全局变量。这种方式应当谨慎使用,因为不小心可能会覆盖已有的全局变量,...

    PHP变量类型

    - **获取变量类型**:`getType()` 和 `var_dump()` 函数可以显示变量的类型及其内容。 - **类型检查函数**:如 `is_bool()`, `is_int()`, `is_string()`, `is_array()`, `is_object()`, `is_null()` 等。 #### 2.2 ...

    vb.net基础程序

    但若关闭此选项(Option Explicit Off),则可以进行隐式声明,如`test = "变量隐式声明"`。然而,隐式声明可能会导致错误,因此建议始终使用显式声明。 8. 变量的取值范围与判断:使用`Dim`关键字声明变量时,可以...

    Java中的隐式参数和显示参数实例详解

    `这行代码中,`a`实际上是指`this.num`,因为`a`在这里是一个未声明的变量,所以Java会查找当前对象的成员变量`num`。这里`this`虽未明确写出,但它是隐含存在的,代表`Test`类的实例。 总的来说,理解Java中的显式...

    VC 中的DLL介绍

    MFC扩展DLL 50<br/>6.1概论 50<br/>6.2 MFC扩展DLL导出MFC派生类 52<br/>6.3 MFC扩展DLL的加载 56<br/>6.3.1 隐式加载 56<br/>6.3.2 显示加载 57<br/>6.4 MFC扩展DLL加载MFC扩展DLL 59<br/>6.5 MFC扩展DLL导出函数和...

    option explicit

    这个语句强制要求开发者在编写代码时显式声明所有的变量,而不是让VBA自动隐式声明。这有助于提高代码的可读性和避免因未声明变量而产生的错误。使用"Option Explicit"能确保你在程序开始时就清楚了解每个变量的作用...

    C#学习笔记1-6

    变量的声明需要指定变量的类型和名称,赋值需要使用赋值运算符=,使用变量需要遵守变量的使用规则。 4. 命名规则 命名规则包括: camel命名规则和Pascal命名规则。camel命名规则要求变量的名称以小写字母开头,...

Global site tag (gtag.js) - Google Analytics