c语言中全局变量的设置方式

 更新时间:2024年08月21日 08:53:54   作者:老光私享  
这篇文章主要介绍了c语言中全局变量的设置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

c语言中全局变量的设置

在 C 语言中,如果你想设置一个全局变量,你需要在程序的某个地方使用关键字 extern 来声明这个变量。

  • 例如:
extern int global_variable;

这样,你就声明了一个名为 global_variable 的全局变量。但是,这样声明的变量是没有赋值的,所以它的初始值是不确定的。

如果你想为这个全局变量赋值,你需要在程序的某个地方使用一个变量定义来定义这个变量。

  • 例如:
int global_variable= 10;

这样,你就定义了一个名为 global_variable 的全局变量,并且为它赋值为 10。

在 C 语言中,全局变量的作用域是整个程序,它可以在程序的任何地方使用。但是,由于它在整个程序中都可以被访问,所以在使用全局变量时要格外小心,避免引起不必要的麻烦。

c语言全局变量使用编程技巧

在C语言中,不可避免的需要使用全局变量,记录下全局变量的使用注意事项,或者说技巧,供参考。

示例说明

注意项:全局变量注意不要重复使用,特别是全局数组

如在test1.c中定义一个全局数组

//test1.c
uint8_t test_buffer[1024];

void test1_modify_buffer()
{
	test_buffer[0] = 0x5a;
}

在test2.c中使用extern调用的话,则需要考虑是否该数组会被重复使用

//test2.c
extern uint8_t test_buffer[1024];

void test2_modify_buffer()
{
	test_buffer[0] = 0x12;
	test1_modify_buffer();
}

那在test2.c中的test2_modify_buffer()函数运行完之后,全局变量数组test_buffer[0]就变成了0x5a。所以要注意要检查全局变量的使用逻辑。

注意

在全局变量的使用过程中要注意重复使用的逻辑问题,否则容易出现问题。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C++实现二叉树基本操作详解

    C++实现二叉树基本操作详解

    这篇文章主要为大家详细介绍了C++实现二叉树基本操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • 从汇编看c++中默认构造函数的使用分析

    从汇编看c++中默认构造函数的使用分析

    c++中,如果为一个类没有明确定义一个构造函数,那么,编译器就会自动合成一个默认的构造函数。下面,通过汇编程序,来看一下其真实情况
    2013-05-05
  • C++实现SLR文法分析法

    C++实现SLR文法分析法

    大家好,本篇文章主要讲的是C++实现SLR文法分析法,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • C语言通讯录管理系统完整版

    C语言通讯录管理系统完整版

    这篇文章主要为大家详细介绍了C语言通讯录管理系统的完整版本,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • C语言实现自动售货机

    C语言实现自动售货机

    这篇文章主要为大家详细介绍了C语言实现自动售货机,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • C语言预处理预编译命令及宏定义详解

    C语言预处理预编译命令及宏定义详解

    这篇文章主要为大家介绍了C语言预处理预编译命令及宏定义的详解,其中包含运行环境命名约定条件及#under等基础详解,有需要的朋友可以借鉴参考下
    2021-10-10
  • 基于QT设计一个春联自动生成器

    基于QT设计一个春联自动生成器

    春节是中国最隆重的传统节日,一到过年家家户户肯定是要贴春联;在春节前夕,会用大红纸张,加上浓墨书写祝福词语。本文将利用Qt框架设计一个春联自动生成器,需要的可以参考一下
    2022-01-01
  • C++检查某个文件或目录是否存在的函数

    C++检查某个文件或目录是否存在的函数

    这篇文章主要介绍了C++检查某个文件或目录是否存在的函数,是Windows应用程序设计中非常常见的实用技巧,需要的朋友可以参考下
    2014-10-10
  • FFmpeg实现将编码后数据保存成mp4

    FFmpeg实现将编码后数据保存成mp4

    这篇文章主要为大家详细介绍了FFmpeg如何实现将编码后数据保存成mp4,即从内存块中获取原始数据,然后依次进行解码、编码、最后保存成mp4视频文件,感兴趣的可以了解一下
    2023-08-08
  • C++实现日期计算器详细代码示例

    C++实现日期计算器详细代码示例

    这篇文章主要给大家介绍了关于C++实现日期计算器的相关资料,基于C++编写的简单的日期计算器,供大家参考,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03

最新评论