博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
全局变量和全局静态变量
阅读量:5082 次
发布时间:2019-06-13

本文共 465 字,大约阅读时间需要 1 分钟。

全局变量:

 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出来的变量存放在堆中。

转载于:https://www.cnblogs.com/mrblue/p/3348551.html

你可能感兴趣的文章
java编写提升性能的代码
查看>>
list 容器 排序函数.xml
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
django Models 常用的字段和参数
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Jquery ui widget开发
查看>>
Mongo自动备份
查看>>
cer证书签名验证
查看>>
synchronized
查看>>
【深度学习】caffe 中的一些参数介绍
查看>>
Python-Web框架的本质
查看>>