gpt4 book ai didi

c - 在何处为全局变量、初始化或函数中赋值

转载 作者:行者123 更新时间:2023-11-30 18:55:20 26 4
gpt4 key购买 nike

我有两个功能。哪一个更好,为什么?我想在嵌入式系统中运行该程序。

1.

int Flag = 1;
void main(void) {
/* main body goes here */
}

2.

int Flag;
void main(void) {
Flag = 1;
/* main body goes here */
}

最佳答案

首先,您根本不应该使用全局变量(请参阅 A Pox on Globals )。

但是,如果您坚持,您应该更喜欢第一个,以确保变量在其整个生命周期内具有有效值,无论代码如何维护以及首次访问的位置和时间。第二个引入了维护问题,其中数据名称或类型的更改以及变量的添加或删除需要在两个地方进行不必要的更改。

另一个问题是,虽然根据语言定义变量的初始值为零,但某些嵌入式运行时可以选择通过不将全局和静态数据初始化为零来“优化”启动。

关于c - 在何处为全局变量、初始化或函数中赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27958532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com