全局变量

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

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

注意:

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

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

    -否则会出现编译错误

      -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. LeetCode-001 Two Sum

    [题目] Given an array of integers, find two numbers such that they add up to a specific target number. ...

  2. POJ1042 Gone Fishing

    采用贪心策略. 假设他从1湖泊走到x 湖泊,这还剩下 h*12 - sigma(T1--Tx-1).(单位时间为5分钟).然后再用剩下的时间去钓1-x的湖泊的鱼. 每次都选择最多鱼的湖泊钓. code ...

  3. w3school教程整理

    原文链接:http://www.flygon.net/w3school 原文链接:https://github.com/wizardforcel/w3school w3school教程整理 离线版大部 ...

  4. How to close existing connections to a DB

    use master ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE --do you stuff here A ...

  5. TreeSet()详解

    TreeSet()详解   1.TreeSet原理:   /* * TreeSet存储对象的时候, 可以排序, 但是需要指定排序的算法 *  * Integer能排序(有默认顺序), String能排 ...

  6. 在MFC主对话框OnInitDialog()中弹出对话框

    BOOL CXXXDlg::OnInitDialog(){ CDialogEx::OnInitDialog(); SetIcon(m_hIcon, TRUE); SetIcon(m_hIcon, FA ...

  7. 关于函数strtok和strtok_r的使用要点和实现原理(二)

    http://www.cnblogs.com/stemon/p/4013264.html已经介绍了使用strtok函数的一些注意事项,本篇将介绍strtok的一个应用并引出strtok_r函数. 1. ...

  8. hadoop 2.6.0 yarn total memory metrics 不正常

    https://issues.apache.org/jira/browse/YARN-3432

  9. SVN版本控制服务器安装与配置

    版本管理在我们日常学习中一般接触不到,因为我们都是一个人在学习与开发一些练习的项目.但是实际中,一般项目都是协同开发的,这样就需要一个版本管理工具,常见的有SVN/CVS/GitHut等...通过它们 ...

  10. 关于表格动态添加行并处理相关表单元素的一些修改----优化for重用(2)

    功能介绍: 1.处理了动态行与表单的设值问题 2.添加了行的向上或向下排序 3.添加了可以在当前行的下边或上边增加新行的功能 4.添加了可以单选或勾选多项删除不需要的行的功能 5.添加了新增的行的高亮 ...