zoukankan      html  css  js  c++  java
  • 全局变量和全局静态变量

    全局变量:

     1)具有外部链接性。如果你在一个.h里写 int a;,那每个包含这个头文件的文件都相当于写了这行代码,编译时就会报错“重复定义的符号”。正确的做法是在.h先声明这个变量:extern int a;然后某个一个cpp里定义它:int a = 0;。同理你在使用这个变量时可以直接包含上面的.h,也可以不包含.h,直接在cpp中声明这个变量(extern int a),然后使用它。

    2) 和全局静态变量一样,被分配在静态存储区。

    全局静态变量

    1)具有内部链接性。如果你在一个.h里写static int a =0;,那相当于每个包含这个头文件的文件都写了这行代码,但是不会报错,他们只是名字相同而彼此之间没什么关系。就是说你在a.cpp里把a赋值为10,打印a为10;在b.cpp里打印a仍然为0。

    2)全局变量,全局静态变量,局部静态变量都被分配在静态存储区。普通的局部变量存放在栈区,new出来的变量存放在堆中。

  • 相关阅读:
    js判断空对象
    浅析css布局模型2
    Python 绘图
    我的第一个 Kaggle 比赛学习
    写代码 Log 也要认真点么?
    Python 线性回归(Linear Regression)
    Python
    Git
    算法4:插入排序和选择排序算法的比较
    《算法4》2.1
  • 原文地址:https://www.cnblogs.com/mrblue/p/3348551.html
Copyright © 2011-2022 走看看