zoukankan      html  css  js  c++  java
  • 变量声明和定义的区别(转)

    转载自变量声明和定义的区别

    变量的声明有两种情况

    1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。

    2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。

    int a; 它既是声明,又是定义,是一种“定义性声明(defining declaration)”;

    extern int a; 是“引用性声明(referncing declaration)”,是最普通的声明。

    一般情况下,把建立空间的声明称之为“定义”,而把不需要建立存储空间的声明称之为“声明”。

    例如

    int main() 
    {
      extern int A;  //这是声明而非定义,声明A是一个已经定义了的外部变量,也可省略数据类型:extern A;
    }
    int A; //是定义,定义了A为整型的外部变量

    外部变量的“定义”与“声明”

    外部变量的定义只能有一次它的位置是在所有函数之外,而声明可以是多次的它可以在函数之内(哪个函数要用就在那个函数中声明)也可以在函数之外。

    外部变量的定义(而不是声明)会引起内存的分配

    外部变量的初始化只能是在“定义”中进行,而不是在“声明”中。

    声明的最终目的是为了提前使用,即在定义之前使用,如果不需要提前使用就没有单独声明的必要,所以声明不会分配存储空间,只有定义时才会分配存储空间。

    用static来声明一个变量的作用

    1、对于局部变量用static声明,则是为该变量分配的空间在整个程序的执行期内都始终存在。

    2、外部变量用static来声明,则该变量的作用只限于本文件模块。

  • 相关阅读:
    文件编程---库函数
    linux文件编程----系统调用
    makefile工程管理
    快速上手日期插件laydate
    js判断浏览器类型以及语言
    谷歌支付服务端详细讲解(PHP)
    php中的date和strtotime函数妙用
    本地搭建GitLab
    mysql查询语句常用字段操作函数
    php中签名公钥、私钥(SHA1withRSA签名)以及AES(AES/ECB/PKCS5Padding)加密解密详解
  • 原文地址:https://www.cnblogs.com/chenyg32/p/3844295.html
Copyright © 2011-2022 走看看