在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。所以要注意要检查全局变量的使用逻辑。
在全局变量的使用过程中要注意重复使用的逻辑问题,否则容易出现问题。