C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > c语言中全局变量的设置

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

作者:老光私享

这篇文章主要介绍了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。所以要注意要检查全局变量的使用逻辑。

注意

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

总结

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

您可能感兴趣的文章:
阅读全文