• 外部变量


    1. 外部变量也就是全局变量,是在所有函数(包括主函数 main)之外定义的变量。
    2. 在单文件程序中,全局变量的作用域是所在源程序文件。
    3. 在多文件程序中,如果希望全局变量的作用域仍只限于所在源程序文件,而不能被其他源程序文件引用,则称为静态全局变量,在定义静态全局变量时须加上关键字static;
    4. 如果希望将全局变量的作用域扩展到其他源程序文件,则称为外部变量,

      如果文件A要引用文件B中定义的外部变量,则在文件A中用关键字extern声明该外部变量,即可将该外部变量的作用域扩展到文件A中。

    extern int count; //声明外部变量count
    extern int data[ ]; //声明外部数组data,无须指明数组长度


    关键字extern提示编译程序变量count是在其他源程序文件中定义的,因此不需要为变量count分配存储空间,只是该源程序可以访问变量count。
    由于外部变量声明不进行内存分配,因此,声明外部数组无须指明数组长度。


    例子:利用外部变量求两个一维数组元素的累加和。

    想法:设全局变量sum保存数组元素的累加和,则两个数组的元素之和要累加到同一个变量sum上,可以将程序分解为1个头文件和2个源程序文件,头文件func.h中存放求和函数Sum的函数原型,源程序文件sum.cpp完成函数Sum的定义,在源程序文件sum.cpp中要引用源程序文件func.cpp中定义的全局变量sum ,因此,需要声明该外部变量,程序如下:

    /* func.h */    自定义头文件 
    void Sum(int r[ ], int n); 

    /* sum.cpp */   源程序文件 
    extern int sum;  // 定义外部变量
    void Sum(int r[ ], int n)
    {
    for (int i = 0; i < n; i++)
    sum = sum + r[i];
    return;
    }

    主函数执行源程序文件
    #include <stdio.h>
    #include "func.h"
    int sum = 0;

    int main( )
    {
    int a[5] = {1, 2, 3, 4, 5};
    int b[10] = {1, 1, 1, 1, 1, 2, 2, 2, 2, 2};
    Sum(a, 5);
    Sum(b, 10);
    printf("数组元素的累加和是:%d ", sum);
    return 0;
    }

  • 相关阅读:
    报表设计--主格设置-手工设置-示例
    报表设计--分组报表-分组小计
    报表设计--单元格公式-设置实例
    报表设计--自由报表-自由扩展
    报表设计--交叉报表-多层交叉-实例
    报表设计--交叉报表-多层交叉
    报表设计--分组报表-多层分组-数据汇总
    报表设计--分组报表-多层分组-横向扩展
    报表设计--分组报表-多层分组-纵向扩展
    报表设计--分组报表-普通分组-横向扩展
  • 原文地址:https://www.cnblogs.com/hello-dummy/p/9164598.html
Copyright © 2020-2023  润新知