小编Lou*_* B.的帖子

C局部变量与函数同名 - 它是如何工作的?

我教C给绝对的初学者,我注意到我的一些学生得到的概念是在函数中使用相同的名称和局部变量.我认为这是愚蠢的,会阻止递归.

这是一个例子:

int add2numbers (int a, int b) { /* Tested on Mac OS X with gcc */
    int add2numbers = a + b;
    return add2numbers;
}
Run Code Online (Sandbox Code Playgroud)

我理解它是如何工作的方式是变量在函数的局部范围内,并且函数在全局范围内.

所以,问题......

  1. 我理解正确吗?
  2. 他们从哪个方面得到了这个想法?

谢谢

c scope

20
推荐指数
3
解决办法
7648
查看次数

“低礼”是什么意思?

在 Trac 主要功能页面https://trac.edgewall.org/wiki/TracFeatures中,据说 Trac 强调“易用性和低仪式性”。有人可以解释一下“仪式”在软件使用中的含义吗?

trac terminology

5
推荐指数
1
解决办法
420
查看次数

AVR gcc 版本 < gcc 发行版本 -- 为什么?

我注意到 AVR 的 gcc 落后于 gcc 的主要开发流程。例如,AVR8 的 gcc 在 Atmel Studio 7 和 Arduino 中为 4.9.2,AVR32 在 Atmel Studio 中为 4.4.7。同时,gcc 4.9.4 是当前的 4.9 版本,开发正在推动多个分支 5.x、6.x 和 7.x ( https://gcc.gnu.org/develop.html )。

更新(2019 年 11 月): Atmel Studio 和 Arduino 工具链现已升级至 gcc 5.4,但仍仅完全实现 C++11。


我担心的是,通过将 C++ 语言最近添加的功能与较旧的编译器一起使用,我可能会遇到早期实现问题。此外,gcc 中 AVR 支持的开发过程尚不清楚。

  • gcc + AVR 工具链中是否添加了 C++ 语言的新功能?
  • 我可以将它们与 Atmel Studio 或 Arduino IDE 一起使用吗?

c++ gcc avr atmelstudio

2
推荐指数
1
解决办法
2454
查看次数

标签 统计

atmelstudio ×1

avr ×1

c ×1

c++ ×1

gcc ×1

scope ×1

terminology ×1

trac ×1