zoukankan      html  css  js  c++  java
  • 外部变量

    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;
    }

  • 相关阅读:
    Access-自定义控件TabControl
    Excel公式-求最低价网站名字
    Excel图表-太极图
    Excel图表-"DNA"图
    VB中的GDI编程-2 画笔
    leetcode
    leetcode
    leetcode
    leetcode
    leetcode
  • 原文地址:https://www.cnblogs.com/hello-dummy/p/9164598.html
Copyright © 2011-2022 走看看