全局变量

  -全局变量即在函数之外定义的变量

  -全局变量保存在静态存储区

注意:

  -全局变量只能声明和初始化

  -全局变量不能进行运算、赋值(非初始化)、调用函数

    -否则会出现编译错误

      -error: expected constructor, destructor, or type conversion before '.' token

      -initializer element is not constant

eg:

  

#include <stdio.h>
;
;
int c = a+b;// error 不能运算  

int main() {
    printf("c is %d\n", c);
    ;
}  
#include <stdio.h>

;

a = ; // error 不能赋值

int main(){

  ;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

srand((unsigned int)time(NULL)); // error 不能调用函数

int sum = add(); // error 不能调用函数

int add(){
  ;
}

int main(){
  ;
}
#include <iostream>

using namespace std;

;

int a = b; // sucess 

int main(){

    ;
}
#include <iostream>

using namespace std;

;

const int add(){
    ;
}

int a = add(); // success

int main(){

    ;
}
#include <iostream>

using namespace std;

;

int a;

a = ; // error ??

int main(){

    ;
}

总结:

  -全局变量保存在静态存储区,其值必须在编译时确定,不能在执行时确定

  -所以定义一个全局变量时必须使用常量。

C++_知识点_全局变量的更多相关文章

  1. C++_知识点_指针类型转换

    #include <iostream> using namespace std; int main(){ ] = {, , , , , , , , , }; int* p = (int*) ...

  2. C++_知识点_结构体/枚举/联合

    //C++中结构体的不同之处 #include <iostream> #include <string> using namespace std; int main(void) ...

  3. Lock锁_线程_线程域

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  4. 『TensorFlow』分布式训练_其三_多机分布式

    本节中的代码大量使用『TensorFlow』分布式训练_其一_逻辑梳理中介绍的概念,是成熟的多机分布式训练样例 一.基本概念 Cluster.Job.task概念:三者可以简单的看成是层次关系,tas ...

  5. Oracle学习总结_day03_day04_条件查询_排序_函数_子查询

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PUR ...

  6. C Primer Plus_第6章_循环_编程练习

    1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...

  7. 转:HIBERNATE一些_方法_@注解_代码示例---写的非常好

    HIBERNATE一些_方法_@注解_代码示例操作数据库7步骤 : 1 创建一个SessionFactory对象 2 创建Session对象 3 开启事务Transaction : hibernate ...

  8. 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解

    本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...

  9. 3.IP地址分类_规划_子网掩码

    IP地址分类_规划_子网掩码 3.1MAC地址 网卡的身份证号———MAC地址 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20: ...

随机推荐

  1. CSS中zoom和scale的区别

    zoom和scale这两个东西都是用于对元素的缩放,但两者除了兼容性之外还有一些不同的地方.zoom缩放会将元素保持在左上角,而scale默认是中间位置,可以通过transform-origin来设置 ...

  2. node.js(七) 子进程 child_process模块

    众所周知node.js是基于单线程模型架构,这样的设计可以带来高效的CPU利用率,但是无法却利用多个核心的CPU,为了解决这个问题,node.js提供了child_process模块,通过多进程来实现 ...

  3. SqlServer导库语句

    GO /****** 对象: StoredProcedure [dbo].[sp_ExportDatabase] 脚本日期: 07/18/2013 12:37:26 ******/ SET ANSI_ ...

  4. 开源一个监控数据采集Agent:OpenFalcon-SuitAgent

    OpenFalcon-SuitAgent 项目地址:github 版本说明 本系统版本划分如下 alpha:内部测试版(不建议使用于生产环境) beta:公开测试版(不建议使用于生产环境) final ...

  5. Cent OS 修改网卡配置

    进入网卡修改界面 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 描述网卡设备名称 BOOTPROTO=static 静态IP,这里一 ...

  6. OpenCV学习 3:平滑过度与边缘检测

    原创文章,欢迎转载,转载请注明出处  用来记录学习的过程,这个是简单的相关函数的熟悉,内部机制和选择何种选择函数参数才能达到自己的要求还不太清楚,先学者吧..后面会慢慢清楚的.     和前面相比,主 ...

  7. C 中注意的小问题

    输入:char ch[100],gets(ch); scanf("%d",&in); char ch,ch=getchar(); VC:  所有变量声明放在所有操作前面: ...

  8. HTML标签CSS属性默认值汇总

    HTML标签CSS属性默认值,在你需要还原默认值的时候比较有用. 以前一直在找这份文档,今天偶然在网上看到了.除了inline和block的定义,主要是要注意body|h1~h6|blockquote ...

  9. Cocos2d-x CCNotificationCenter 通知中心

    相信接触过ios开发的人来说对NSNotificationCenter都不陌生.而在cocos2d-x中也参照这个类,提供了CCNotificationCenter这个类,用作通知中心. 那么Noti ...

  10. Spring单例与线程安全小结

    一.Spring单例模式与线程安全   Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方. 单例模式的意思就是只有一个实例.单例模式确 ...