全局变量和局部变量的区别?

嗯,没错,局部变量是您在函数中自己创建的变量。
当你使用它们时它们就消失了。
外面的人不能碰它们,就像你在房间里买的玩具一样,别人也不能进入。
全局变量是那些在函数之外徘徊的变量。
从它诞生的那一刻到它生命的终结,无论你在哪里都可以看到它,就像一个公共汽车站,任何人都可以去那里。

比如你在main函数内部定义了一个变量,如果外面没有同名的小家伙,那么它就是全局的,可以四处游荡。
如果是外人,就应该保持低调,只在自己的小天地里徘徊。

这个全局变量非常有用。
它就像一个链接,将不同的功能连接在一起。
如果一个函数改变了它的值,其他函数也可以感知到它。
不过现在很多编程语言都不太喜欢它,因为它很容易让人迷惑,而且一旦出现问题也不容易发现。

像 Java 和 C++ 这样的面向对象的小工具将变量保存在类中,这样外人就无法看到它们。
但如果你希望它作为全局变量徘徊,你需要将其设置为 public static,以便它可以徘徊在每个角落。
就像你把一辆玩具车放在公共场所让大家看一样。
嗯,大概就是这样。

eda中如何定义变量

嗯...变量...非常重要。
现在是 2 02 2 年...我在一个城市...我在 EDA 编程环境中工作...我的意思是定义变量...我必须注意一些事情。

首先...声明定义...声明...就是告诉编译器...我想要什么变量...什么类型...例如整数类型、浮点类型...这只是一个声明...它不分配内存。
然后我意识到...这个...我想要一个杯子...杯子是什么样的...但我还没有真正制作过杯子。

然后定义是基于声明...实际为其分配内存。
例如,在某个模块中...我有一个变量...叫做count...它是一个整数...初始值为0。
这样...count有单独的空格...可以用来计数。
它通常设置在特定位置...例如函数...或文件...
然后有一个范围...这很重要。
局部变量在函数内部定义。
例如,在一个名为calculate...的函数中,我定义了一个局部变量...称为result...并且该result...仅在calculate函数运行时存在...当它完成时,它就会消失。
无需预先宣布...只需设置即可。
我可能有点过头了...局部变量...我想我正在使用它们并且忘记了...是否声明并不重要。

全局变量...这是不同的。
在文件或模块级别定义。
例如,在我的整个项目中...有一个名为globalConfig...的变量...可以在整个文件中使用...甚至在其他文件中...通常在头文件中声明...然后在源文件中设置。
2 02 2 年,我有一个项目……几百行代码……依赖一些全局变量……在不同的函数中传递数据……但是也很容易出错……后来我发现……尽量少用全局变量。

变量类型非常重要...整数、浮点、布尔...以及为 EDA 定义...比如时间单位...它们决定变量可以存储在什么位置...以及它可以做什么。
例如,您不能使用布尔变量来执行布尔变量的加法和减法。
那时我很困惑...我写了一些代码...我使用布尔值作为数字...但是编译器让我崩溃了...它说类型不匹配。

启动也很重要。
在定义中...您可以给出默认值。
示例 int count = 0;这样...一开始计数就会为0...是乱码之类的不多。
这避免了很多未定义的行为...我以前遇到过这种情况...未初始化的变量...在不同的地方得到混乱的值...花了很长时间调试...最后发现只有一个变量未初始化。

最后...自动变量...是函数内的局部变量。
它在函数运行时分配内存...并在完成时释放它。
如果未初始化...该值是不确定的。
例如,如果我写一个函数... void process() { int temp; if (temp > 0) { ... } } 这个 temp...未初始化...如果是-1 ...那么我无法通过 if 判断...我以前就踏入过这个陷阱...我写了几百行的函数...但它没有响应...最后我发现唯一的 Auto 变量没有初始化...这让我头晕。

总之...定义变量的时候...你要想清楚...类型是什么...会在哪里使用...使用后是否应该丢弃...是否应该给它一个初始值...这些细节...都非常重要。
如果出错,程序就会崩溃……调试起来真是头疼……