C语言中的全局变量定义与使用

2023-05-16

1.  书中对‘全局变量’的定义

    在函数内定义的变量是局部变量,而在函数外定义的变量叫做外部变量,外部变量是全局变量。全局变量可以为本文件中其他函数所共用它的有效范围从定义变量的位置开始到本源文件结束。

    建立全局变量的作用是增加了函数间数据联系的渠道。

2.  谭浩强 书中对‘全局变量’的声明

    用extern声明:

       如果外部变量不在文件的开头定义,其有效的作用范围只能从定义点到文件结束。如果在定义点之前的函数想引用该外部变量,则应该在应用之前用关键字extern对该变量作‘外部变量声明’。表示该变量是一个已经定义了的外部变量。有了此声明,就可以从声明处起,合法的调用该外部变量。

 

      

int  A=13, B=-8;

....

main()

{

    extern int A,B;//也可以写成extern A,B;

    ....

    用static声明:

        有时在程序中希望某些外部变量只限于被本文件引用,而不能被其他文件引用。这时就可以在定义外部变量时在其前面加一个static声明。此时的外部变量也成为静态全局变量。

       

static int A;

3. 需要注意的地方

   外部变量的定义和声明是不同的。外部变量的定义只能有一次,它的位置在所有函数之外,而统一文件中的外部变量的声明可以有多次,它的位置可以在函数之内,也可以在函数之外。系统根据外部变量的定义,而不是声明,分配存储单元。对外部变量的初始化,只能在定义时进行,而不能在声明中进行。

0


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言中的全局变量定义与使用 的相关文章

随机推荐

  • Qt创建动态库给C#调用,通过回调完成交互

    本文章向大家介绍Qt创建动态库给C 调用 xff0c 通过回调完成交互 xff0c 主要内容包括1 前言 2 创建Qt项目 2 2 编写函数接口 2 3 编译生成动态库 2 4 打包依赖文件 3 创建C 项目 3 2 编写代码调用Qt接口
  • C#调用mingw编译出来的动态链接库实例(建议使用MSVC编译的)

    一般情况C 调用MSVC编译出来的C C 43 43 动态库 xff0c 不会有太大问题 xff0c 但是如果是mingw编译出来的呢 xff1f 答案是不确定的 xff0c 得取决于你如何编译 xff01 今天在这用一个例子实现C 调用m
  • (QT/MFC中)c++使用Opencv遍历图像像素的两种方式(以调整图像亮度与对比度为例)

    include lt opencv2 opencv hpp gt include lt iostream gt using namespace cv int main int argc char argv Mat src dst src 6
  • Qt编译错误msvc-version.conf loaded but QMAKE_MSC_VER isn‘t set与Qt lnk1158 无法运行rc.exe 解决方法

    最近用Qt5 10 0 VS2015新建一个工程 xff0c 构建时报如下错误 xff1a msvc version conf loaded but QMAKE MSC VER isn t set 解决方法一 xff1a 打开文件D Qt
  • Qt中创建使用动态链接库详解及实例

    目录 1 建立并生成动态链接库 2 测试生成的DLL 验证环境 xff1a ubuntu18 04 43 Qt5 14 验证内容 xff1a 导出类 xff0c 导出函数带参数 不带参数的函数 1 建立并生成动态链接库 1 打开QtCrea
  • Spring Security Oauth2 (五) 密码码模式 整合jwt

  • centos多个vnc不同账户同时登录

    装备工作 1 更新yum源 xff0c 一开始我没有更新 xff0c 但是在第二步会出错 yum update 2 安装图形界面服务 yum groupinstall GNOME Desktop 3 安装vpc服务 yum y instal
  • C# 调用C++ DLL 的类型转换对应列表

    C 调用C 43 43 的DLL搜集整理的所有数据类型转换方式 可能会有重复或者多种方案 自己多测试 c 43 43 HANDLE void c System IntPtr c 43 43 Byte unsigned char c Syst
  • 编写程序重复定义Bug(multiple definition of)解析

    如果两个函数 方法重复定义就会报 multiple definition of 错误 xff1b 如果非要定义两个函数同名 xff0c 则可以在函数前加static xff0c 便可以将两个同名函数编译过 1 给每一个头文件加条件编译 在编
  • qt中QString与char *类型相互转换

    在进行编程时 xff0c 我们经常需要用到字符串这种类型 xff0c 毫无疑问 xff0c Qt 库中也对字符串类型进行了封装 xff0c QString 类提供了你能想到的所有字符串操作方法 xff0c 给开发者带来了极大方便 但是我们在
  • 总结以下三种方法,实现c#每隔一段时间执行代码:

    总结以下三种方法 xff0c 实现c 每隔一段时间执行代码 xff1a 方法一 xff1a 调用线程执行方法 xff0c 在方法中实现死循环 xff0c 每个循环Sleep设定时间 xff1b 方法二 xff1a 使用System Time
  • struct的创建

    本文实例分析了C 中结构 struct 的部分初始化和完全初始化 xff0c 分享给大家供大家参考 具体分析如下 xff1a 假设有这样一个值类型struct xff0c 如下所示 xff1a 1 2 3 4 5 6 7 8
  • c++全局变量的正确声明

    C 43 43 中全局变量声明错误情况 造成 LNK2005 错误主要有以下几种情况 xff1a 1 xff0e 重复定义全局变量 可能存在两种情况 xff1a A 对于一些初学编程的程序员 xff0c 有时候会以为需要使用全局变量的地方就
  • C++函数声明和定义

    在上一节 xff0c 我们已经学会了如何阅读函数原型和如何调用一个函数 然而 xff0c 仅靠系统给出的标准库函数是不够用的 我们有时候要根据我们的实际要求 xff0c 写出一个合适自己使用的函数 那么 xff0c 我们如何来自己动手编写一
  • cpp之间函数引用和类引用的方法

    除了 include外 xff0c cpp文件之间怎么引用函数 file C h ifndef FOO H define FOO H extern void sayHello endif FOO H file B cpp include 3
  • 在C++中调用DLL中的函数

    1 dll 的优点 代码复用是提高软件开发效率的重要途径 一般而言 xff0c 只要某部分代码具有通用性 xff0c 就可将它构造成相对独立的功能模块并在之后的项目中重复使用 比较常见的例子是各种应用程序框架 xff0c ATL MFC 等
  • HC-SR04超级简单教程(快速入门)

    目录 一 模块介绍 xff08 个人理解 xff09 1 简单理解 2 该模块的参数 二 HC SR04的操作 三 代码 1 代码前的注意事项 2 关键代码 四 代码实战效果图 五 结束 一 模块介绍 xff08 个人理解 xff09 1
  • C++中对于类来说头文件(.h)和源文件(.cpp)都应该写些什么 (类的常规创建)

    头文件 h xff1a 写类的声明 xff08 包括类里面的成员和方法的声明 xff09 函数原型 define常数等 xff0c 但一般来说不写出具体的实现 在写头文件时需要注意 xff0c 在开头和结尾处必须按照如下样式加上预编译语句
  • c#的接口详解

    什么是接口 xff1f 其实 xff0c 接口简单理解就是一种约定 xff0c 使得实现接口的类或结构在形式上保持一致 个人觉得 xff0c 使用接口可以使程序更加清晰和条理化 xff0c 这就是接口的好处 xff0c 但并不是所有的编程语
  • C语言中的全局变量定义与使用

    1 书中对 全局变量 的定义 在函数内定义的变量是局部变量 xff0c 而在函数外定义的变量叫做外部变量 xff0c 外部变量是全局变量 全局变量可以为本文件中其他函数所共用它的有效范围从定义变量的位置开始到本源文件结束 建立全局变量的作用