我最近遇到了三个不同的情况C,我会帮助:
我的C代码有一个全局变量:
int ref_buf; //declared in a header file
Run Code Online (Sandbox Code Playgroud)
在函数定义中,我使用与参数相同的名称:
void fun(int ref_buf, param2, param3)
{
}
Run Code Online (Sandbox Code Playgroud)
它会覆盖最初定义的全局变量并导致错误吗?
我可以在C数据结构中声明一个静态变量吗?:
struct my
{
int a;
static int b;
};
Run Code Online (Sandbox Code Playgroud)
它有用吗?是否有人需要它的具体情况?
我可以按如下方式初始化单个结构变量:
struct my
{
int a;
int b = 4;
};
Run Code Online (Sandbox Code Playgroud)该函数中对ref_buf的所有引用都将绑定到参数而不是全局变量.
这在C中是不合法的,但在C++中是合法的.C中的关键字static只能用于文件范围变量或本地变量.
不,这在C(或C++)中是不合法的.您需要创建一个工厂方法来处理这个问题.
my create_my() {
my m;
m.b = 4;
return m;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1062 次 |
| 最近记录: |